🌐 NuStarFund A Decentralized Charitable Crowdfunding Platform for Individuals and NGOs
Built on Ethereum Sepolia Testnet
📘 Table of Contents
✨ Features
⚙️ Quick Start
🧭 Usage Guide
🧩 Tech Stack
💎 Smart Contract
📁 Project Structure
🔗 API Reference
🚑 Troubleshooting
✨ Features 🚀 Core Functionality Feature Description Web3 Integration Connect via MetaMask or WalletConnect Crypto Donations Accept SEP ETH donations on Sepolia testnet Smart Contracts Transparent & secure fund management Real-time Tracking Live campaign updates & fund progress AI Analytics Predict success & detect fraud Global Access Donations from anywhere in the world 👤 Individual Creators
Launch personal fundraising campaigns
Set custom goals & deadlines
Receive direct wallet donations
Monitor campaign stats
Withdraw funds once goals are met
🏢 NGO Organizations
Verified NGO profiles
Add impact reports with proof & data
Upload documentation & images
Track milestones (Pending → In Progress → Completed)
Transparent fund usage reporting
⚙️ Quick Start Prerequisites
Node.js v18+
MetaMask Extension
Sepolia Test ETH (use faucets below)
Installation
git clone https://github.com/Krishnaaporwal/charities.git cd charities
npm install
npm run dev
➡️ Visit http://localhost:5000
🧭 Usage Guide 🎯 For Campaign Creators 🧍 Individual Campaign
Connect Wallet → Approve via MetaMask
Navigate to “Create Campaign”
Fill in details (Title, Description, Category, Goal, Deadline, Image)
Pay Platform Fee: 0.01 SEP ETH
Launch Campaign → Goes Live Instantly
🏢 NGO Campaign
Select NGO Profile → Add organization details
Setup campaign like individual one
Unlock advanced features:
Add impact reports
Create milestones
Upload official documents
💰 For Donors Step Action 1 Connect wallet (MetaMask) 2 Explore active campaigns 3 Click on campaign to view details 4 Click “Donate Now” 5 Enter donation amount (SEP ETH) 6 Confirm in MetaMask 7 Track donation in dashboard 📊 NGO Features 🧾 Reports
Add Impact Reports (title, description, beneficiaries)
Track funds used & progress
Upload multiple images/documents
View chronological report history
🎯 Milestones Status Meaning ⏳ Pending Yet to start 🔧 In Progress Work ongoing ✅ Completed Goal achieved 🧩 Tech Stack 🖥️ Frontend Technology Purpose React 18+ UI framework Vite Fast build tool TanStack Query Data fetching Wouter Lightweight routing Tailwind CSS Styling shadcn/ui UI components ethers.js v6 Web3 interaction 🧠 Backend Technology Purpose Express.js REST API server TypeScript Type safety tsx Runtime TS Zod Schema validation Drizzle ORM Database layer ⛓️ Blockchain Component Description Solidity 0.8.28 Smart Contracts Hardhat Development & deployment Sepolia Ethereum testnet ethers.js Blockchain communication 🤖 AI/ML Stack
Python (Flask API)
scikit-learn (ML models)
pandas & numpy (Data processing)
💎 Smart Contract Property Value Network Sepolia Testnet (Chain ID: 11155111) Contract Address 0x5b19aE435CF4fA1DE595901380B7aA745C71afcb Platform Fee 0.01 SEP ETH Compiler Solidity 0.8.28 View on Etherscan 🔗 View Contract Main Functions Function Description Access createCampaign() Deploy a new campaign Public donate() Donate SEP ETH to campaign Public withdrawFunds() Withdraw raised funds Owner Only getPlatformFee() View platform fee Public View Deploy Command
npx hardhat compile
npx hardhat run scripts/deploy.js --network sepolia
npx hardhat verify --network sepolia <contract_address>
🪙 Get Test ETH Faucet URL Daily Limit Sepolia Faucet sepoliafaucet.com 0.5 SEP ETH Alchemy Faucet alchemy.com/faucets/ethereum-sepolia 0.5 SEP ETH QuickNode faucet.quicknode.com 0.1 SEP ETH 📁 Project Structure charities/ │ ├── client/ # Frontend │ ├── src/ │ │ ├── components/ # UI elements │ │ ├── campaigns/ # Campaign logic │ │ ├── contexts/ # Wallet context │ │ ├── hooks/ # Custom hooks │ │ ├── pages/ # Routes (Home, Explore, Profile, etc.) │ │ ├── smartContract.ts │ │ └── web3.ts │ └── index.html │ ├── server/ # Backend │ ├── index.ts │ ├── routes.ts │ ├── storage.ts │ ├── ml/ │ └── contracts/ │ └── python_ml/ # AI models (Flask)
🔗 API Reference 🎯 Campaign Endpoints Method Endpoint Description GET /api/campaigns Fetch all campaigns GET /api/campaigns/:id Fetch campaign by ID POST /api/campaigns Create new campaign 💸 Donation Endpoints Method Endpoint Description POST /api/donations Record new donation 🏢 NGO Reports Method Endpoint Description GET /api/ngo-reports?campaignId=:id Fetch reports POST /api/ngo-reports Create report 🎯 Milestones Method Endpoint Description GET /api/ngo-milestones?campaignId=:id Fetch milestones POST /api/ngo-milestones Create milestone 🤖 AI Features Method Endpoint Description POST /api/predict-success Predict campaign success POST /api/check-fraud Fraud risk analysis 🚑 Troubleshooting Issue Solution MetaMask not connecting Ensure unlocked & on Sepolia network Transaction failed Check SEP ETH balance & gas fees Campaign not appearing Refresh explore page Server not starting Ensure port 5000 is free & Node v18+ 🧠 Built with transparency, trust, and technology.
NuStarFund — Empowering global generosity through decentralized innovation