roadmap:

  1. make front end mockup - finished with basic stuff.
  2. connect it to wallet- display wallet address in front end - done.
  3. finalise contract and deploy it to testnet/local chain - done.
  4. connect dapp and contract- make mint button - done
  5. make metadata (ipfs) connection -done
  6. fetching data from ipfs and blockchain to display on front end -done
  7. display transaction log of items in front end (item profile). - not done
  8. user data management. - records basic data (wallet address, name, citizen status, physical address)
  9. user role management- json database (citizen /non citizen) - done
  10. implement search functions. -not done
  11. implement error handling and alerts, session tracking - error handling done to a certain extent, no session handling - tried moralis but it stopped working (moralis problem)
  12. test all features to remove bugs and errors.- done to certain extent
  13. optional-optimize code to load faster- possibly deploy to polygon mainnet. - not done
  14. try to implement user verification system of some sort, list all possible drawbacks and issues.
  15. redo contract to a simpler version and let marketplace be handled by a backend server with dedicated database.

references, software and services used :

Ethereum API | IPFS API & Gateway | ETH Nodes as a Service | Infura

Documentation

web3.js - Ethereum JavaScript API - web3.js 1.0.0 documentation