A decentralized crowdfunding platform built on Ethereum, with a smart contract backend and a modern React frontend.
This project enables users to:
- Create campaigns on-chain
- Donate with wallet-connected transactions
- Track campaign progress, status, and donor activity
- Manage wallet-linked campaign history from a personal dashboard
- App URL: <APP_URL>
- Demo video: project-assets/videos/demo-overview.mp4
- Deployment walkthrough: project-assets/videos/deployment-walkthrough.mp4
- Home (Desktop): project-assets/images/home-desktop.png
- Home (Mobile): project-assets/images/home-mobile.png
- Campaign Detail: project-assets/images/campaign-detail.png
- Dashboard: project-assets/images/dashboard.png
- Smart Contract Layer: Solidity crowdfunding contract(s)
- Wallet Layer: MetaMask integration through ethers
- Frontend Layer: React + TypeScript + Vite
- UI Layer: Token-based dark design system
Architecture diagrams placeholders:
- System architecture: project-assets/diagrams/system-architecture.png
- Contract interaction flow: project-assets/diagrams/contract-flow.png
CrowdFundingBlockchain/
├─ contracts/
├─ frontend/
│ ├─ src/
│ ├─ .env.example
│ └─ package.json
└─ project-assets/
├─ images/
├─ videos/
├─ diagrams/
└─ team/
- Solidity
- Ethereum (Sepolia for development/testing)
- React
- TypeScript
- Vite
- Tailwind CSS
- ethers.js
- Node.js >= 18
- pnpm
- MetaMask browser extension
- Sepolia test ETH
Inside frontend/.env.example:
VITE_CONTRACT_ADDRESS=0xYourDeployedContractAddressHereSetup steps:
- Copy frontend/.env.example to frontend/.env
- Replace
VITE_CONTRACT_ADDRESSwith your deployed contract address - Restart the dev server after changing env values
cd frontend
pnpm install
pnpm devBuild and preview:
cd frontend
pnpm build
pnpm preview- Compile contract(s) in your chosen toolchain (Remix/Hardhat/Foundry)
- Deploy to Sepolia
- Copy deployed contract address
- Update frontend/.env with deployed address
- Confirm ABI in frontend/src/utils/contract.ts matches deployed contract
- Wallet connect/disconnect
- Copyable wallet addresses with visual feedback
- Campaign creation flow
- Donation flow
- Campaign status tags (active/success/failed)
- Donor list and dashboard views
- Responsive dark UI
Fill member details in project-assets/team/team-placeholders.md.
| Member | Role | GitHub | ||
|---|---|---|---|---|
| Ayush Kumar | Main | socialacc211@gmail.com | ayushk101 | https://www.linkedin.com/in/ayushk101/ |
| Abhishek Kumar | <TEAM_MEMBER_2_ROLE> | <TEAM_MEMBER_2_EMAIL> | <TEAM_MEMBER_2_GITHUB_ID> | <TEAM_MEMBER_2_LINKEDIN_URL> |
| Anurag Gautam | <TEAM_MEMBER_3_ROLE> | <TEAM_MEMBER_3_EMAIL> | <TEAM_MEMBER_3_GITHUB_ID> | <TEAM_MEMBER_3_LINKEDIN_URL> |
- Add campaign updates/comments
- Add withdrawal/refund lifecycle UI
- Add transaction history timeline
- Add automated contract test coverage
- Add CI checks for lint, typecheck, and build
- Create a feature branch
- Make focused commits
- Run build and checks before push
- Open a pull request with screenshots/video updates (using
project-assets/)
This project is licensed under the MIT License.
See LICENSE for full details.