CARNFT is a blockchain-powered marketplace for exclusive car NFTs, allowing users to buy, sell, and collect digital assets representing luxury vehicles.
- Verified Car NFTs: Authentic digital assets of exclusive vehicles with blockchain verification
- Marketplace: Browse, buy, and sell car NFTs
- Admin Controls: Mint new NFTs with vehicle details and images
- Wallet Integration: Connect your Ethereum wallet for transactions
- Collection Management: View and manage your NFT collection in "My Garage"
- React.js for the frontend UI
- Ethereum blockchain for NFT storage and transactions
- Ethers.js for blockchain interaction
- IPFS for decentralized storage of NFT metadata and images
- Tailwind CSS for styling
-
Clone the repository:
git clone https://github.com/Anuoluwapo25/CarDealers_Marketplace.git cdCarDealers_Marketplace
-
Install dependencies:
npm install
-
Create a
.envfile in the root directory with the following variables:REACT_APP_CONTRACT_ADDRESS=your_contract_address REACT_APP_INFURA_PROJECT_ID=your_infura_project_id REACT_APP_IPFS_PROJECT_ID=your_ipfs_project_id REACT_APP_IPFS_PROJECT_SECRET=your_ipfs_project_secret -
Start the development server:
npm run dev
-
Open http://localhost:3000 in your browser
-
Navigate to the
contractsdirectory:cd contracts -
Build the contracts:
forge build
-
Deploy contracts (replace
<network-url>and<private-key>with your values):forge create --rpc-url <network-url> --private-key <your-private-key> src/NFTmarket.sol:NFTmarket
-
Update the deployed contract address in your
.envfile.
- Click the "CONNECT WALLET" button in the navigation bar
- Approve the connection request in your wallet (MetaMask, etc.)
- Once connected, your wallet address will be displayed
- Scroll through the featured NFTs on the homepage
- View additional details by clicking on specific NFTs
- Use the slider to browse through featured car NFTs
- Make sure your wallet is connected
- Browse available NFTs marked "FOR SALE"
- Click "BUY NOW" on the desired NFT
- Confirm the transaction in your wallet
- Once confirmed, the NFT will be transferred to your wallet
Admin functions are restricted to authorized addresses.
- Enable admin mode (for authorized addresses)
- Click "ADMIN (SHOW)" to display the minting form
- Fill in the car details:
- Address to mint to
- Make, model, and year
- Price (in ETH)
- Description
- Upload a car image
- Click "Mint NFT" to create the new NFT
- After successful minting, you can list the NFT for sale
npm test
-
Navigate to the
contractsdirectory:cd contracts -
Run tests:
forge test
- Fork the repository
- Create a new branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Your Name - @ali_anuoluwapo
Project Link: https://carmarketplace-opal.vercel.app/
- OpenZeppelin for secure smart contract implementations
- IPFS for decentralized storage solutions
- Tailwind CSS for the UI framework
