A full‑stack grants and crowdfunding platform built on the Cardano blockchain. Organizations create grants, applicants apply, and on‑chain actions (minting, application acceptance, manager management) are handled through Cardano wallets and Lucid Evolution.
.
├── backend/ # Express 5 + MongoDB + Socket.IO REST/realtime API
└── frontend/ # React + TypeScript + Vite single-page app
Each package is self‑contained with its own package.json and .env.
- Node.js 18+ (20+ recommended)
- npm 10+
- MongoDB instance (local or hosted, e.g. MongoDB Atlas)
- Redis (optional — used for caching/sessions)
- A Blockfrost project id (Cardano API access)
- Optional: Mailgun account (transactional email) and AWS S3 bucket (file storage)
cd backend
npm install
cp .env.example .env # then fill in your own values
npm run dev # nodemon + dotenv, http://localhost:3003See backend/README.md for available scripts and configuration.
cd frontend
npm install
cp .env.example .env # then fill in your own values
npm run dev # Vite dev serverSee frontend/README.md for details.
Real secrets are never committed. Each package ships a .env.example documenting every variable it reads — copy it to .env and provide your own values. See backend/.env.example and frontend/.env.example.
Formatting is enforced with Prettier using the shared config in .prettierrc.json:
# from frontend/ or backend/
npm run format # write
npm run format:check # verifyThe frontend additionally uses ESLint (npm run lint).
See LICENSE (add one before publishing if not already present).