ScholarChain ensures transparency and accountability in NGO scholarship fund management:
- Donors donate to the NGO’s on-chain fund (contract balance).
- NGO Admin records scholarship allocations on-chain (tamper-proof audit trail).
- Student documents + user data are stored off-chain (MongoDB).
- Frontend: Next.js (React) + Tailwind (existing project UI)
- Backend: Node.js + Express + MongoDB + JWT + RBAC
- Blockchain: Solidity + Hardhat + MetaMask + Ethers v6
contracts/ # Hardhat + ScholarChain.sol
backend/ # Express API + MongoDB
frontend/ # Next.js (React) UI
cd contracts
npm install
cp .env.example .envDeploy to Sepolia:
npm run deploy:sepoliaCopy the deployed address into:
frontend/.env.localasNEXT_PUBLIC_SCHOLARCHAIN_ADDRESSbackend/.envasSCHOLARCHAIN_CONTRACT_ADDRESS
cd backend
npm install
cp .env.example .env
npm run devcd frontend
npm install
npm run devOpen http://localhost:3000.
/register,/login/dashboard(admin/staff)/donate(MetaMask donation; optionally records tx hash in MongoDB)/students(staff/admin add students; admin verifies)/allocate(admin allocation via MetaMask; records tx hash in MongoDB)/audit(DB transactions + on-chain allocations)
- Frontend (
frontend/.env.local)NEXT_PUBLIC_RPC_URLNEXT_PUBLIC_SCHOLARCHAIN_ADDRESSNEXT_PUBLIC_BACKEND_URL
- Backend (
backend/.env)MONGODB_URI,JWT_SECRETSEPOLIA_RPC_URL,SCHOLARCHAIN_CONTRACT_ADDRESSNGO_ADMIN_PRIVATE_KEY(optional; only needed if backend submits allocations)
- Contracts (
contracts/.env)SEPOLIA_RPC_URL,PRIVATE_KEY,ETHERSCAN_API_KEY(optional)