CrowdFunding.dApp.mp4
This is a decentralized crowdfunding application with NextJS and Solidity. In this dapp peoples can create campaigns or donate to them.
- Dark Theme
- Responsive UI
- Wallet Authentication
- Create Campaign
- Donate or Withdraw Ethereum
- Decentralized
- Solidity - Smart Contract Language
- React - JavaScript library for UI
- NextJS - React Framework
- TailwindCSS - CSS Framework
- Hardhat Ethereum Development Environment
- Waffle Smart Contract Test Library
- Ethers Smart Contract Interaction Library
- React Icons - Icon Library
First of all you need to clone the repository and install the dependencies
git clone https://github.com/ahmedsemih/CrowdFunding-dApp.git
cd client
npm install
cd ..
cd smart-contract
npm install
After doing this you must create a project on Alchemy. Then assign the following environment variables
--- CLIENT ---
NEXT_PUBLIC_API_BASE_URL - API url like: http://localhost:3000/api
NEXT_PUBLIC_PROVIDER_URL - Alchemy url with your API key
NEXT_PUBLIC_CONTRACT_ADDRESS - Address of your contract ( You will get this after deploy your contract )
NEXT_PUBLIC_PRIVATE_KEY - Metamask private key
--- SMART CONTRACT ---
ACCOUNT_PRIVATE_KEY - Metamask private key
PROJECT_ID - Alchemy API key
And deploy your smart contract then run your client
--- SMART CONTRACT ---
npx hardhat run scripts/deploy.js --network sepolia
--- CLIENT ---
npm run dev