Giter VIP home page Giter VIP logo

nft-mint-and-auction-app's Introduction

Patika | Akbank Web 3 Practium Final Case

Demo video on YouTube

Note: This is only a demo. The contract is deployed on the Goerli test network. Therefore, you can mint and create auctions only on the testnet.

Feature Tab

Feature Description
Mint NFT Mint NFT with a unique name and description.
Create Auction Create an auction for your NFT.
Bid Bid on an auction.
Buy Now Buy the NFT with paying full amount.
Refund Withdraw your bid.
End Auction End the auction.
Cancel Auction Cancel your auction before it ends.
Withdraw Funds Withdraw your funds.

NFT Minting & Auction Platform

This project is a NFT minting and auction platform. the PatikaBears NFT collection is for Auctioning and it is mintable by everyone with 0.02ETH. After minting a NFT you can auction your NFTs, or you can bid or buy other auctions. It is a decentralized application that runs on the Ethereum blockchain. It is built with Solidity, NextJS. It is compiled and tested with Hardhat, Ethers, Waffle, and Hardhat toolkits.

Roadmap & Progress

  • 1. Create example NFTs and upload them to IPFS
  • 2. Create a new ERC721 contract and test it.
  • 3. Create Auction contract and test it.
  • 4. Create folder structure for frontend.
  • 5. Create tests for the contracts.
  • 6. Deploy the contracts to the testnet.
  • 7. Interact with the contracts via frontend.
  • 8. Create UI for minting NFTs.
  • 9. Create UI for viewing NFTs.
  • 10. Create UI for auctioning and bidding NFTs.
  • 11. Create UI for viewing auctions and biddings.
  • 12. Fix bugs and fix wagmi query bugs.
  • 13. Re-create all the UI and refactor the code.
  • 14. Add refund, cancel, end auction features.

User Guide

# Clone the repository
git clone https://github.com/fixfon/nft-mint-and-auction-app.git

# Go inside the directory
cd nft-mint-and-auction-app

# Install dependencies
npm install

Put Environment Variables

Create a .env file in the root directory and copy environment variables from .env-example file.

ALCHEMY_GOERLI_ENDPOINT=
DEPLOYER_PRIVATE_KEY=
ALCHEMY_API_KEY=
ETHERSCAN_API_KEY=

How to compile the contracts

You can compile the contracts with the following command:

npx hardhat compile

How to run the tests

After compiling the contracts, you can run the tests with the following command:

npx hardhat test ./test/PatikaBears.ts
npx hardhat test ./test/Auction.ts

How to deploy the contracts

npx hardhat run ./scripts/deploy.ts --network alchemy

How to verify the contracts

npx hardhat verify --network alchemy DEPLOYED_NFT_CONTRACT_ADDRESS
npx hardhat verify --network alchemy DEPLOYED_AUCTION_CONTRACT_ADDRESS "DEPLOYED_NFT_CONTRACT_ADDRESS"

How to run the project

npm run dev

Used Technologies

  • Solidity - Smart Contract Programming Language
  • Hardhat - Ethereum development environment
  • Ethers - Ethereum JavaScript API
  • Waffle - Ethereum smart contract testing framework
  • NextJS - Frontend
  • TailwindCSS - CSS Framework
  • IPFS - File storage
  • Moralis - Backend as a Service for Interacting with Contracts
  • Alchemy - Ethereum Node Provider
  • RainbowKit - for Wallet access and logining
  • Etherscan - for verifying the contracts

Author & Contact

Created by Fixfon for Patika.dev | Akbank Web 3 Practium

Linkedin

Github

Twitter

Discord: fixfon#1111

nft-mint-and-auction-app's People

Contributors

fixfon avatar jitendragangwar123 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.