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.
- 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.
- 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
- Dev Stack: NextJS, ethers, hardhat, solidity, Database (Firebase or MySQl with NodeJS plugin – other suggestions welcomed)
- NFT and Website Wireframe Mockups: Google Slides Link
- MVP: Build Governance contracts (ERC-721Votes.sol, Governor.sol, TimeLock.sol)
—status: ✅ completed by Marcos on June 23
- 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
- Home Page: Splash Page with Links to Main Functions such as voting, submitting proposal
— status: ✅ completed by Justin in June
- 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
- Bonus: Proposal Form – Member’s only submit a proposal
— status: ✅ completed by Justin in June
- Bonus: Voting Form – Member’s only Vote on Proposal
— status: ✅ completed by Justin in June
- MVP: Deploy website to live server
— status: ✅ completed and 3 days behind by Justin on July 18
- MVP: Incorporate pushing programmable payments into custom minter contract ERC721Minter.sol for Builder NFT
—status: ✅ completed by Marcos on June 23
- 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.
- Bonus: The site will integrate a governance UI (that is proposal submission and voting)
— status: ✅ completed by Justin in June
- Bonus: Add OAuth for GitHub Authentication in order to Mint NFT
— status: ✅ completed by Justin in June
- 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
- Bonus: Incorporate QR Generator and Scanning for autologin and/or payments
— status: ❌ not started
- Bonus: Build marketplace contract: Allows DAO to repurchase or burn its minted Builder NFTs
— status: ❌ not started
- Bonus: Integrate Backend Server with NGINX
— status: ❌ not started