user-avatar
h
hiatus
Joined
icon image
Celo Community
0 REP
2 Feedbacks
3 Submissions

Submissions

Submitted

**Awesome quotes** is a minimalist quote hosting DApp built on the Celo Alfajores Network that allow users host their favourite quotes and tip authors of quotes they find interesting.

17Points
3 Feedbacks
Submitted

I built a minimalist message board DApp that allow users to add messages, view and clap for messages of interest. The admin (contract owner) can mark messages as spam/not-spam.

72Points
Submitted

# CRUZZER NFTs ## Live Link https://cruzzer.vercel.app/ ## Overview **CRUZZER NFTs** is a PoC NFT marketplace smart contract and decentralised application that allow users to perform the following: - Mint Custom NFTs - Put up Minted NFTs for sale - Buy NFTs from other users of the application ## Functionalities, Structures and Setup ### Structures 1. NFTDetails A struct for holding associated details of a particular NFT ```solidity struct NFTDetails { address payable owner; bool forSale; uint price; uint tokenId; string name; string desc; string tokenURI; } ``` 2. minted An array of NFTDetails objects ```solidity NFTDetails[] minted ``` ### Functionalities 1. **mintToken** - **functionality**: Mints a new NFT and transfers it to the address of the user - **params**: name, desc and \_tokenURI - **returns**: NFTDetails 2. **makeNFTSellable** - **functionality**: makes an NFT sellable buy transfering ownership to the contract's address - **params**: tokenId and price - **returns**: NFTDetails 3. **makeNFTNonSellable** - **functionality**: makes an NFT non-sellable buy transfering ownership from the contract's address back to the user who created it. - **params**: tokenId - **returns**: NFTDetails 4. **buyNFT** - **functionality**: buys an NFT from the marketplace buy transferring its ownership to the caller and transferring CELO (the attached price) to the address of the NFT creator. - **params**: tokenId 5. **getNFTs** - **functionality**: get all the minted NFTs - **returns**: NFTDetails[] (an array of NFTDetails objects) ### Setup 1. Installation: run `pnpm i` in the `nft` directory to install required dependencies 2. Compilation: run `pnpm exec hardhat compile` 3. Testing: run `pnpm exec hardhat test` 4. Deployment: run `pnpm exec hardhat run ignition/module/Cruzzer.ts` for local deployment and `pnpm exec hardhat run --network alfajores ignition/module/Cruzzer.ts` for deployment on Celo's Alfajores' testnet. ## User Interface The user interface has been developed with a JavaScript framework, Next.js v14 and helper libraries mainly - **RainbowKit** and **TransactQuery** for wallet connections - **Wagmi** for contract interaction (send read and write transactions) - **Viem** for utilities and interfaces (parsing and formatting ether, etc) ### Pages - **Home**: Provides a welcome screen and overview of the DApp - **Minter**: Provides a form for minting NFTs - **Bazaar**: Provides a marketplace for viewing, buying and setting minted NFTs as "for sale" or "not for sale" ### Setup 1. Installation: run `pnpm i` in the `dapp` directory to install required dependencies 2. Local deployment: run `pnpm dev` to use the DApp in the development. 3. Production deployment: run `pnpm build` and follow the instructions for your preferred hosting platform to host the DApp and use it in live mode.

16Points
2 Feedbacks

FEEDBACK

14 REP
Submitted

**Awesome quotes** is a minimalist quote hosting DApp built on the Celo Alfajores Network that allow users host their favourite quotes and tip authors of quotes they find interesting.

17Points
3 Feedbacks
Feedback

hey @walterbrain thanks a lot for the feedback, I found the fixes insightful.

@Galien, your PR closely resembles Walter's, so I cannot merge it at this time.

14 REP
Submitted

# CRUZZER NFTs ## Live Link https://cruzzer.vercel.app/ ## Overview **CRUZZER NFTs** is a PoC NFT marketplace smart contract and decentralised application that allow users to perform the following: - Mint Custom NFTs - Put up Minted NFTs for sale - Buy NFTs from other users of the application ## Functionalities, Structures and Setup ### Structures 1. NFTDetails A struct for holding associated details of a particular NFT ```solidity struct NFTDetails { address payable owner; bool forSale; uint price; uint tokenId; string name; string desc; string tokenURI; } ``` 2. minted An array of NFTDetails objects ```solidity NFTDetails[] minted ``` ### Functionalities 1. **mintToken** - **functionality**: Mints a new NFT and transfers it to the address of the user - **params**: name, desc and \_tokenURI - **returns**: NFTDetails 2. **makeNFTSellable** - **functionality**: makes an NFT sellable buy transfering ownership to the contract's address - **params**: tokenId and price - **returns**: NFTDetails 3. **makeNFTNonSellable** - **functionality**: makes an NFT non-sellable buy transfering ownership from the contract's address back to the user who created it. - **params**: tokenId - **returns**: NFTDetails 4. **buyNFT** - **functionality**: buys an NFT from the marketplace buy transferring its ownership to the caller and transferring CELO (the attached price) to the address of the NFT creator. - **params**: tokenId 5. **getNFTs** - **functionality**: get all the minted NFTs - **returns**: NFTDetails[] (an array of NFTDetails objects) ### Setup 1. Installation: run `pnpm i` in the `nft` directory to install required dependencies 2. Compilation: run `pnpm exec hardhat compile` 3. Testing: run `pnpm exec hardhat test` 4. Deployment: run `pnpm exec hardhat run ignition/module/Cruzzer.ts` for local deployment and `pnpm exec hardhat run --network alfajores ignition/module/Cruzzer.ts` for deployment on Celo's Alfajores' testnet. ## User Interface The user interface has been developed with a JavaScript framework, Next.js v14 and helper libraries mainly - **RainbowKit** and **TransactQuery** for wallet connections - **Wagmi** for contract interaction (send read and write transactions) - **Viem** for utilities and interfaces (parsing and formatting ether, etc) ### Pages - **Home**: Provides a welcome screen and overview of the DApp - **Minter**: Provides a form for minting NFTs - **Bazaar**: Provides a marketplace for viewing, buying and setting minted NFTs as "for sale" or "not for sale" ### Setup 1. Installation: run `pnpm i` in the `dapp` directory to install required dependencies 2. Local deployment: run `pnpm dev` to use the DApp in the development. 3. Production deployment: run `pnpm build` and follow the instructions for your preferred hosting platform to host the DApp and use it in live mode.

16Points
2 Feedbacks
Feedback

@ujay, thanks for your feedback. a small note, a withdrawfunds function isn't necessary for the smart contract as buying an nft automatically transfers funds to the current owner of the nft and not the marketplace (cruzzer) smart contract.