tiago-web / Fr0ntierX_Task

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NFT Marketplace

This project aims to create a web3 marketplace that allows ERC-721A to be traded for ERC-20 between different users.


๐Ÿ“Œ Table of Contents

๐Ÿ”— Features

  • Any user can request new NFTs tokens to be minted free-of-charge. (NFTs metadata and images are pinned to IPFs)
  • Users can choose the image, name and description of their NFTs.
  • Users can list their NFT token for sale for any price they want using the FRT (ERC-20) token.
  • Users can list and review all existing and yet not executed sell offers.
  • Users can accept the existing sell order from some other user and purchase the NFT using ERC-20 token.
  • Users can get some free TRX (ERC-20) tokens on the faucet.

๐Ÿ”’ Dependencies

To run this script you need to install locally on your machine the following dependencies:

๐Ÿ Getting Started

Clone the project via HTTPS by running this command:

git clone https://github.com/tiago-web/Fr0ntierX_Task.git

SSH URLs provide access to a Git repository via SSH, a secure protocol. If you have a SSH key registered in your Github account, clone the project using this command:

git clone git@github.com:tiago-web/Fr0ntierX_Task.git

Run the following command in order to install the dependencies and start the whole application in a development environment:

Backend

cd backend

Then:

yarn && yarn start:dev or npm i && npm run start:dev

If the project runs successfully you should be able to access it on:

http://localhost:3000/

Frontend

cd frontend

Then:

yarn && yarn start or npm i && npm run start

If the project runs successfully you should be able to access it on:

http://127.0.0.1:5173/

Smart contracts

cd smart-contracts

Then:

yarn && yarn hardhat node or npm i && npx hardhat node

If the project runs successfully you should a local chain running on:

RPC: http://localhost:8545 Chain ID: 1337

Inside each folder, prepare terminal with environment variables

# make a copy of environment variables
$ cp .env.example .env

# edit .env with an editor, eg vim
$ vim .env

# add to environment
$ source .env

Edit values to reflect local configuration environment

๐Ÿ› Testing

In order to test the application, you should run the following command:

Smart contracts

cd smart-contracts

Then:

yarn test or npm run test

๐Ÿ‘€ Useful commands

# To generate contract types
yarn typechain

# to generate all the deployed address TS file and abis
yarn hardhat files-writer --network <neworkName>

# to fund an account
yarn hardhat run ./scripts/fundAcc.ts --network <neworkName>

๐Ÿ“ฎ FAQ

Question: What are the technologies used in this project?

Answer: The tecnologies used in this project are:

About


Languages

Language:TypeScript 95.3%Language:Solidity 4.1%Language:CSS 0.4%Language:Shell 0.1%Language:JavaScript 0.1%Language:HTML 0.0%