Zapp aims to solve the problem of underlying assets that gain you no money. People often hold NFTs that grow at a very small rate over time, well what if they could get some loan against it and repay it back - making use of the money for instantaneous purposes as well as the value of NFT grows while being locked too.
For the masses that have liquidity/crypto lying around and want to earn some interest over it, we have your back too. Research the NFTs available for collateralizing and give loans against them, who knows you might get a steal for an expensive gift.
The special thing about this Dapp is that it's purely trustless, i.e, no one has to rely on each other's trust. As soon as a proposal requesting a loan is initiated, the NFT that is being offered gets locked up in the smart contract. It can be released under two conditions, the repayment period for the loan is over and it was claimed by the user who lent it or the required final amount was paid for before the repayment period got over. The release of NFT will happen under two conditions only, as coded in the smart contract.
The first and foremost hurdle was Nextjs. Our team had never worked on Nextjs on such a big and complex project. Learning it while struggling to implement and find things was a big problem and took a lot of time. We came over this using StackOverflow, documentation, and asking the mentors.
We were avid users of Heroku for our backend, and the billing changed on 1 Dec and no none of us had the credit card to buy the server. We found a way around using Replit and render.
Metamask's gasEstimitating feature went berserk for some reason, leaving us to give a manual gas limit. This put a hold on the blockchain task for a while since the transaction went through sometimes and failed to do so the other times. We countered this problem by supplying a larger gas fee for every transaction through metamask. (The problem persists)
The wallet had loads of bugs wherein we had nothing to do but suffer until it gets fixed. Currently, the existing bugs don't auto-disconnect the wallet properly.
After trying to find services that could hold up our front end, that is a Dapp we couldn't find a truly compatible service. We overcame this with the help of Valist, a deployment protocol. The whole team helped us solve any error that existed.