Product Description: At minimum, we will create website that will mint a programmable and utility NFT for our Development team. This enhanced functionality is enabled by the ERC-721 minter contract and each NFT’s json metadata file.

Refer to the footnotes on Dynamic and Interactive NFTs for implementation examples.

The repo for this project is currently a private repository on Code Sport Lab’s GitHub page. Please reach out to Marcos via email or Discord for access. Here is a tutorial on how to clone a private repos and its various branches.

  1. To generate buzz, we will add Dynamic NFT functionality. We will pull-in a list of our pinned repos and/or a self-curated list of Hackathons we participate in this year. The animation_url in the metadata file should point to an html file. In our case it will be the entry point for our React app.
  2. We must explore storing the json metadata off-chain (i.e., in a database) to facilitate NFT upgrades and changes. This will add complexity since it requires a database tied to one or more keys (e.g., wallet address and tokenID). See the footnotes on Dynamic and Interactive NFTs on how to implement
  3. Dev Stack: NextJS, ethers, hardhat, solidity, Database (Firebase or MySQl with NodeJS plugin – other suggestions welcomed)
  4. NFT and Website Wireframe Mockups: Google Slides Link
  1. MVP: Build Governance contracts (ERC-721Votes.sol, Governor.sol, TimeLock.sol)
    status: ✅ completed by Marcos on June 23
  2. MVP: Build a custom website for the ERC-721 DAO with membership registration. Here are the pages for the Website
    status: ✅ completed by Justin in June
    1. Home Page: Splash Page with Links to Main Functions such as voting, submitting proposal
      status: ✅ completed by Justin in June
    2. MVP: Mint Page – Mint Builder’s NFT — have form to capture user’s GitHub username for Dynamic NFT
      status: ✅ completed by Justin in June
      • Bonus: Add OAuth for GitHub Authentication in order to Mint NFT
        status: ✅ completed by Justin in June
    3. Bonus: Proposal Form – Member’s only submit a proposal
      status: ✅ completed by Justin in June
    4. Bonus: Voting Form – Member’s only Vote on Proposal
      status: ✅ completed by Justin in June
  3. MVP: Deploy website to live server
    status: ✅ completed and 3 days behind by Justin on July 18
  4. MVP: Incorporate pushing programmable payments into custom minter contract ERC721Minter.sol for Builder NFT
    status: ✅ completed by Marcos on June 23
  5. MVP: Authentication to gated portion of website. That is, only NFT holders may enter
    status: in-progress. Marcos added gatekeeper function to the Minter contract which was deployed on July 14. Web site integration postponed.
  6. Bonus: The site will integrate a governance UI (that is proposal submission and voting)
    status: ✅ completed by Justin in June
  7. Bonus: Add OAuth for GitHub Authentication in order to Mint NFT
    status: ✅ completed by Justin in June
  8. Bonus: Add Dynamic NFT functionality to each NFT. Shall pull in developer’s GitHub Feed into builder NFTs
    status: ✅ completed by Marcos & Justin in June
  9. Bonus: Incorporate QR Generator and Scanning for autologin and/or payments
    status: ❌ not started
  10. Bonus: Build marketplace contract: Allows DAO to repurchase or burn its minted Builder NFTs
    status: ❌ not started
  11. Bonus: Integrate Backend Server with NGINX
    status: ❌ not started