An NFT marketplace developed as a project for the Sicurezza dei Dati (Data Security) course, part of the Computer Science Master's Degree program at the University of Salerno
Nfties was developed to gain practical experience in building a decentralized application (Dapp), with a strong focus on Ethereum and blockchain security. The platform enables users to explore, buy, and sell a wide range of NFTs. Additionally, the Dapp admin has access to a dedicated dashboard for minting new NFTs.
- Mint new NFTs (Admin)
- Purchase NFTs
- Sell your NFTs
- View your NFTs
- mkcert
- Javascript dependencies are listed in each of the project components
nfties/
│── authentication/ # Authentication express endpoint
│ ├── certificates/
│ ├── scripts/
│ └── src/
│
│── contracts/ # Solidity smart contracts
│
│── frontend/ # React frontend
│ ├── certificates/
│ ├── scripts/
│ └── src/
│ ├── abis/ # Smart contract abis
│ ├── components/ # React components
│ ├── css/
│ └── redux/ # Redux actions, reducers and store
│
│── ignition/ # Hardhat ignition modules
│ └── modules/
│
│── ipfs/ # Ipfs metadata / images storage endpoint
│ ├── certificates/
│ ├── scripts/
│ └── src/
│
│── scripts/ # Compiling / deployment scripts for contracts
│
│── test/ # Unit testing with Mocha
│
│── .gitignore
│── ...
└── package.json
- Clone the repository
git clone https://github.com/raffaeleav/nfties.git- Start the hardhat node
cd nfties
npm install
npx hardhat node- Deploy contracts
cd nfties/scripts
bash deploy.sh- Start the authentication node
cd nfties/authentication
npm install
npm start- Start the ipfs node
cd nfties/ipfs
npm install
npm start- Start the frontend
cd nfties/frontend
npm install
npm start
