This is a monorepo of P2P NFT marketplace
- User Login using their wallet, currently Metamask/Torus
- User can create new Collection. For this the frontend creates a contract creation transaction (ERC721) and user signes and submits using metamask
- Frontend tracks contract and gets its address and sends it to backend once it is mined successfully
- User uploads a new item to IPFS. For this frontend uploads using backend api, gets file hash and publically accessible URL. For this backend uses pinata cloud service to upload file and also its metadata JSON to IPFS.
- This hash is used to add new item to the collection. THis will be another contract transaction that user signs
- Metadata JSON follows standards followed by Opensea, so your contract and file can be easily read by Opensea or other marketplaces.
- The Generated contract address can be copied and you can list it in opensea
- Support for multiple wallet, mobile based Qr code. This should be easy, since the platform already uses web3Modal.
- Support for Multiple networks. Right now the platform does allow to change network and create NFT, but the frontend and backend needs to be improved
- Allow Lazy Minting of Collection and items.
- Create Exchange Contracts required for P2P trading
- Backend currently doesnt track the live contract. This is required since the contract item ownership can change by listing in other marketplaces