Skip to content

Sui-Developer-Program/Curriculum

Repository files navigation

Curriculum

-> Available at: https://drive.google.com/drive/folders/1Mwhiyqcz1fqNDX1SOwmOpuXcClnDVymM?usp=sharing


Mini-apps -> Post-Modules Challenges

1. Mint Your First NFT on Sui

Objective: Apply your foundational knowledge of Move, NFTs, and object ownership to create a simple UI for minting an NFT on the Sui blockchain. Project Requirements: Simple User Interface: Create a minimal UI to interact with the Sui blockchain. Include fields to input a photo URL (already uploaded online) and a name for the NFT. Wallet Integration: Implement a wallet connection feature to interact with users' Sui wallet. NFT Minting: Develop a Move module that defines an NFT object with a unique ID, metadata URL, and name. Allow connected users to mint an NFT using the provided photo URL and name. See my NFT page Users should be able to see the NFTs they have minted when they connect their wallet Submission: Submit your project as a public GitHub repository. Include a concise README.md file with clear setup instructions. Evaluation Criteria: Functional UI for minting NFTs. Correct wallet integration and NFT minting. Code readability and repository organization. All transactions should be on testnet and sponsored through Enoki Time Limit: The project should be completed within one day.

2. Simple On-Chain Voting DApp

Objective: Use your foundational knowledge of Move programming, object ownership, and UI integration to create a simple decentralized voting application on the Sui blockchain. Project Requirements: User Interface:

Minimal UI displaying a voting proposal (e.g., "Which feature should we develop next?") with 2-3 selectable options. Users can cast their votes by selecting an option and submitting their choice. Questions can be mocked and predetermined. Use of imagination and make it funny Wallet Integration: Provide a wallet connection to enable users to interact with their Sui wallets.

Move Module for Voting: Implement a Move module that records each user's vote on-chain, ensuring one vote per user per proposal. Store the count of votes per option.

Results Page: Display live updated voting results fetched from the blockchain.

Submission: Submit your work as a public GitHub repository. Include a concise README.md explaining setup and usage clearly.

Evaluation Criteria: Functional voting UI and real-time results. Correct implementation of wallet integration and Move module. Code readability and repository organization. All transactions should be on testnet and sponsored through Enoki

Time Limit: The project should be completed within one day.

3. On-Chain Guestbook DApp

Objective: Create a guestbook DApp allowing users to leave a short message on-chain. Project Requirements: User Interface: Minimal UI to connect wallet and input a short guestbook message. Display all messages in real-time as a guestbook feed. Wallet Integration: Provide a wallet connection to enable users to interact with their Sui wallets. Move Module for Guestbook: Implement a Move module that stores guestbook messages on-chain. Limit messages to a reasonable length (e.g. max 100 characters). Submission: Submit your work as a public GitHub repository. Include a concise README.md explaining setup and usage clearly. Evaluation Criteria: Functional guestbook UI and real-time results. Correct implementation of wallet integration and Move module. Code readability and repository organization. All transactions should be on testnet and sponsored through Enoki.

4. Sui Token Faucet DApp

Objective: Create a simple faucet DApp that allows users to claim a fixed amount of devnet tokens. Project Requirements: User Interface: Minimal UI to connect wallet and claim devnet tokens. Display the remaining faucet balance. Wallet Integration: Provide a wallet connection to enable users to interact with their Sui wallets. Move Module for Faucet: Implement a Move module managing a faucet object with a balance and token distribution. Prevent multiple claims from the same wallet. Give 10 devnet SUI tokens on each claim. Submission: Submit your work as a public GitHub repository. Include a concise README.md explaining setup and usage clearly. Evaluation Criteria: Functional faucet UI and real-time results. Correct implementation of wallet integration and Move module. Code readability and repository organization. All transactions should be on devnet. WARNING: Testnet faucet API is locked. Use only devnet.

5. Simple Tip Jar DApp

Objective: Create a tip jar DApp that allows users to send tips to the deployed contract owner. Project Requirements: User Interface: Minimal UI to connect wallet and input a tip amount. Button to submit the tip transaction. Display the total amount of tips received so far. Wallet Integration: Provide a wallet connection to enable users to interact with their Sui wallets. Move Module for Tip Jar: Implement a Move module that accepts tips and records the cumulative total tips received. Ensure funds are sent to the contract deployer or a predefined owner account. Submission: Submit your work as a public GitHub repository. Include a concise README.md explaining setup and usage clearly. Evaluation Criteria: Functional tip jar UI and real-time results. Correct implementation of wallet integration and Move module. Code readability and repository organization. All transactions should be on testnet and sponsored through Enoki.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors