/Blockchain9182

The app allow users to easily create fundraising plans with descriptions, deadlines, and fundraising goals. such as tracking donations, posting updates, and completing rewards. The main purpose of the crowdfunding app is to provide users with a good and secure platform that connects developers allowing them to raise money and raise awareness.

Primary LanguageJavaScript

Crowd funding

Project features 💡

  • User can start a fundraising.
  • Anyone can contribute.
  • End project if targeted contribution amount reached.
  • Expire project if targeted amount not fulfills between deadline.
  • Contributors can withdraw contributed amount if project expire.
  • Owner need to request contributors for withdraw amount.
  • Owner can withdraw amount if 50% contributors agree.
  • Connect with waller.

Tech stack & packages used 📦

package explain
Next.js For building frontend
solidity For writting smart contracts
tailwind css For building design
ether.js Web3 client (contract testing ).
web3.js Web3 client (Frontend Next.js).
Chai javascript testing framework.
react-toastify For Notification.
hardhat Ethereum development environment.
Redux For managing and centralizing application state.

How to run 🏃 :

  • Run hardhat node

    npx hardhat node
    
  • Run test cases

    npx hardhat test
    
  • Connect HardHat Account to Metamask

  • Deploy contract in local hardhat node

    npx hardhat run scripts/deploy.js --network localhost
    
  • Run Next.js frontend

    cd client
    npm run dev
    
  • Connect account to website

Hardhat commands

npx hardhat accounts
npx hardhat compile
npx hardhat clean
npx hardhat test
npx hardhat node
node scripts/deploy.js
npx hardhat help
npx hardhat run scripts/deploy.js --network <network name>