Inspiration
NFT/Crypto hype
What it does
Buy and gift food NFTs to friends!
While it might look like a normal marketing or gifting app at first, MoMMoM is a blockchain powered web app that uses smart contracts deployed on the blockchain to tokenise food items into NFTs, which can be traded/gifted to friends.
The security of the blockchain ensures that your food items will not be lost, and ownership is irrefutable. Also, MoMMoM relieves reliance on 3rd party applications and middleman to ensure that your transactions are handled correctly, through the technology of the blockchain. In short, MoMMoM is a trustless, secure platform to purchase food items from vendors, and gift them to your friends!
Users of MoMMoM can sign up, and link their Metamask crypto wallet to the site. From there, they can scroll through the marketplace which offers a plethora of restaurants and menu items to choose from. Users can then easily purchase items using ether from their crypto wallets, and the smart contract will automatically issue the user with a tokenised version of the menu item - An NFT.
The NFT can be traded and gifted to friends, or consumed, which would result in the burning of the NFT.
To use the web application, a Metamask account is required, and ether on Rinkeby network. Visit: https://faucet.rinkeby.io/ to get ether for your Metamask account
How we built it
- Javascript/Typescript, Express, Docker, React, Node, Solidity, Remix and the Rinkeby blockchain test network
- A lot of time
The frontend was built on React, and connects to our Node based backend API through Express HTTP calls. The backend API handles the retrieval and storing of data onto our MongoDB database server, which holds the user profiles, as well as the data for the restaurants and their respective food items.
Solidity was used to write the smart contracts required for the MoMMoM application. These smart contracts were deployed onto the Rinkeby test network. The smart contracts automatically mint new ERC-721 compliant NFTs which represent the different food items purchased, as well as burning these NFTs when redeemed at restaurants.
These smart contracts along with event logging handle and track the buying, gifting, and redemption of these NFTs.
Challenges we ran into
We kind of underestimated the amount of effort required :')
We also spent many hours to find out that payable transactions(transactions that involves eth) are not able to return values, had to use a hackish method to workaround that.
Accomplishments that we're proud of
We did it - it was hard and a lot of time was spent debugging, but it was worth it in the end.
What we learned
Blockchain/webdev ain't that easy. And what can go wrong will go wrong
What's next for Mommom
Move onto mobile app, better stability, reactive UI
Built With
- blockchain
- docker
- ethereum
- heroku
- metamask
- mongodb
- next
- node.js
- react
- solidity
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.