Link to project: https://627d973f05b5871486c75ee8--zippy-arithmetic-b653b8.netlify.app/
Tech used: HTML, CSS, JavaScript, React, Solidity, Truffle, Ganache
Remember to use a wallet that use the ganache network to interact with the smart contract and test the application, in this application you can mint any Nft, its main function is to be a Nft marketplace to buy the cryptoBirdz Nft collection, but is not finished, if you want to mint any image, you can go to https://es.imgbb.com/, in that page you can convert any image to a link so you can mint an Nft, that Nft would be the image that you want, once minted, the Nft will be shown on the app.
The code is not easier to read because this project is one of my first ones made in react, can be optimize using useContext and on the contract events could be created and add event listeners using web3 on an useEffect so when an nfts is minted, it can be shown in real time when the transaction is completed.
The basics of react, npm to install packages and run the app on localhost, how to use truffle and ganache to test the smart contract, create an smart contract using solidity with basic concept, the existence of openZeppelin to audit smart contracts and the use of ERC-721 to create Nfts.
Take a look at these couple examples that I have in my own portfolio:
PlatziPunks-Backend: https://github.com/Jsebas1198/PlatziPunks-Backend-SmartContracts-WEB3
PlatziPunks-Frontend: https://github.com/Jsebas1198/PlatziPunks-Frontend-WEB3
Wave-Portal-Interface: https://github.com/Jsebas1198/Wave-Portal-Interface-WEB3