So our Project has 3 Parts.
Backend: The whole backend is coded in Solidity. And it is immune to “Reentrancy Attacks” and “Oracle Attacks” which are most common vulnerabilities found in the smart Contract.
Here, Our NFT Marketplace has different functions.
listItem func: people can still hold their NFT when listing. They will just allow the marketplace to sell their NFT.
buyItem func: here people can buy items from the Marketplace.
cancelListing func: here OWNER can remove their NFT from the Listing.
updateListing func: here OWNER can Update the price of their NFT.
withdrawProceeds func: here CUSTOMER is allowed to WITHDRAW their assets.
All the Function mentioned above is demonstrated in VIDEO.
Frontend: This is made using various tools like, “web3uikit”, “moralis”, “TheGraph plugins (apollo)”, “ether.js”.
It's a dynamic, simple and user friendly frontend which can be used once you have connected your Metamask account.
Since we have used TheGraph for indexing our NFT in a decentralized way, we have to make some calls which you can find in the pages > app.js/index.js.
TheGraph: it is an indexing protocol for querying networks like Ethereum and IPFS(InterPlanetary File System, is a decentralized and distributed system for storing and sharing files on the internet.). It is completely decentralized
Blockchains like Ethereum store a lot of data, but finding and organizing that data can be difficult and time-consuming. TheGraph provides a way to index and query data on the blockchain in a more efficient and user-friendly manner.
Anyone can build and publish open APIs called subgraph, this will help in making data easily accessible.
We tried to make a good NFT Market place but ythere can have been more improvements in the frontend part but backend we made it to good extent
Discussion