This is a decentralized crowdfunding application with NextJS and Solidity. In this dapp peoples can create campaigns or donate to them.
275316157-165084d2-f40c-4bd2-bb54-fcaae466540f.mp4
Video Features Technologies Screenshots Getting Started Collaborators Contribute
- Dark Theme
- Responsive UI
- Wallet Authentication
- Create Campaign
- Donate or Withdraw Ethereum
- Decentralized
- Developed an
Ethereum Blockchain
-based Decentralized Finance (DeFi
) application focused on fundraising for startups, allowing users to create and donate to crowdfunding campaigns usingEther
. - Designed and implemented smart contracts using
Solidity
to securely handle campaign creation, donations, and withdrawals on the blockchain. - Integrated
Metamask
for wallet authentication, providing a seamless login experience for users. - Built a responsive and dynamic user interface with
Next.js
, andTailwindCSS
, ensuring smooth navigation across all devices. - Leveraged
Hardhat
as the Ethereum development environment andWaffle
for smart contract testing. - Used
Ethers.js
for interacting with smart contracts and handling Ethereum-based transactions. - Implemented features like campaign creation, Ethereum donation processing, and withdrawal functionality, ensuring a decentralized and secure environment.
- Additionally, provided a dark theme for enhanced user experience and implemented wallet authentication for secure access.
- 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
Here you describe how to run your project locally
Here you list all prerequisites necessary for running your project. For example:
- First of all you need to clone the repository
git clone https://github.com/boradesanket13/FundSeed.git
- Install the dependencies in client folder
cd client
npm i
- Install the dependencies in smart-contract folder
cd ..
cd smart-contract
npm i
- After doing this you must create a project on alchemy.com to assign the following environment variables.
- Get your Metamask private key
- Create .env file in client folder in below mentioned format
NEXT_PUBLIC_API_BASE_URL=API url (You can use this: http://localhost:3000/api)
NEXT_PUBLIC_PROVIDER_URL=Alchemy url with your API key (For example: https://eth-sepolia.g.alchemy.com/v2/xxxxxxxxxxxxxxx)
NEXT_PUBLIC_CONTRACT_ADDRESS=Address of your contract (You will get this after deploy your contract)
NEXT_PUBLIC_PRIVATE_KEY=Your Metamask Private Key (Get it from point 5)
- Create .env file in smart-contract in below mentioned format
ACCOUNT_PRIVATE_KEY=Metamask private key
PROJECT_ID=Alchemy API key
- Deploy your smart contract
cd ..
cd smart-contract
npx hardhat run scripts/deploy.js --network sepolia
- Copy the deplyed contract's address and assign it in client folder's env
- Run your client
cd ..
cd client
npm run dev
Special thank you for all people that contributed for this project.
Sanket Borade |
Riddhi Dalal |
Riya Sali |
Sai Jadhav |
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See MIT License for more information.