Token for DCU Submission Reward: ERC20 compatible, allowing use across other dApps. Unlimited total supply, minted on demand during reward transactions. Total minted supply can later determine the capped total supply for future $DCU tokens.
NFT Dynamic Impact Product (DIP): Soulbound NFT with dynamic traits to reflect user impact. Stores data using the NFT standard schema. Transfer can be initiated upon request (e.g., account migration).
NFT Cleanup Contract: Factory contract to manage cleanups. Deploys contracts for solo and group cleanups (Impact Circles). Metadata includes before/after photos, geotags, timestamps, and extended schemas (e.g., name, description).
DCU Rewards Contract: Distributes rewards after DCU submission is confirmed. Has access roles for minting and interacts with other contracts. Updates traits in DIP on each confirmed DCU submission, either on-chain (ERC7496) or through backend updates of metadata and CID.
Backend
Tech Stack:
TypeScript Express server with Prisma schema.
Indexer to build leaderboard metrics.
Single endpoint to add transaction hashes for DCU submission confirmation, triggering the leaderboard builder.
Web Client
Tech Stack:
React/Next.js + Tailwind CSS + shadcn.
Features:
Landing Page: Includes general information and navigation.
Header/Footer: Persistent components for navigation.
Profile Page: Displays user information and submission history.
Leaderboard: Paginated table (25 per page) displaying ranked DCU profiles.
New DCU Submission Form: For users to submit cleanup proof.
DCU Submission Page: Dedicated page for individual submissions.
New Impact Circle Form: Form to create a new Impact Circle.
Impact Circle Page: Manages and displays group cleanup activities.
Approval List: Restricted-access page for moderators to view and approve pending DCU submissions, including a button to send transactions.
Web3 Wallet Integration: Users authenticate via SIWE (Sign-In with Ethereum) using popular wallets.