Minterest is a decentralized NFT marketplace that allows users to seamlessly manage their NFTs. Users can connect to their Metamask wallet, mint unique NFTs, list or unlist their own NFTs, browse a diverse collection of Listed NFTs from other creators, and purchase them.
- Connect with MetaMask Wallet
- Create & mint NFTs
- Delete Minted NFTs
- List NFTs for sale
- Buy NFTs from marketplace
- Unlist NFTs from sale
- Search NFT by URI
- Browse Listed NFTs and filter by price
List owned NFT for sale / Delete owned NFT

Update Price of Listed NFT / Unlist NFT from sale

Browse NFTs listed for sale by others

Browse NFTs with Filter applied on maximum price in ETH

- React.js – For building a responsive and dynamic user interface
- Ethers.js – To interact with the Ethereum blockchain and the smart contract
- Solidity – For writing the Smart contract
- Truffle – For development, testing, and deployment of the blockchain
- Ganache – Local blockchain for testing the smart contract
- IPFS/Pinata (https://pinata.cloud) – For storage of NFT metadata and images
.
├── README.md
├── backend
│ ├── build
│ │ └── contracts
│ │ └── NFTMarketPlace.json
│ ├── contracts
│ │ └── NFTMarketPlace.sol
│ ├── migrations
│ │ └── 2_deploy_contracts.js
│ ├── package-lock.json
│ ├── package.json
│ └── truffle-config.js
└── client
├── package-lock.json
├── package.json
├── .env
├── .gitignore
├── public
│ ├── index.html
│ ├── logo192.png
│ ├── logo512.png
│ ├── manifest.json
│ ├── minterest_logo.ico
│ ├── minterest_logo.png
│ └── robots.txt
└── src
├── App.css
├── App.js
├── NFTMarketPlace.json
├── global.css
├── index.css
├── index.js
├── logo.png
└── pages
├── BrowseNFTs.js
├── Home.js
├── LandingPage.js
├── MyNFTs.js
├── Navbar.js
├── Profile.js
├── Search.js
└── walletContext.js
- node.js
- Truffle
- Ganache (CLI/GUI)
- MetaMask Browser Extension
git clone https://github.com/aarabhianand/minterest-blockchain.git
cd minterest-blockchainMake sure Ganache is running on your system (GUI or CLI)
- Install backend dependencies
npm install- Compile and deploy contracts
truffle compile
truffle migrate --network development- Navigate to React frontend
cd client- Install frontend dependencies
npm install- Create a
.envfile and insert your compiled contract address
REACT_APP_CONTRACT_ADDRESS = "Your_compiled_contract_address"- Start the React development server
npm startThe app will be available at: http://localhost:3000
This app uses Images uploaded to Pinata as NFTs. Any other IPFS platform can be used.




