Logo Lanfrica

pathlab-code/msaadafund

Domain:

digital infrastructuresocioeconomic

Record type:

software
Creator:
pat
Host:
πŸ‡ΉπŸ‡Ώ MsaadaFund β€” Jukwaa la Kukusanya Fedha Tanzania. M-Pesa, Tigo Pesa, Airtel Money. Pamoja Tunaweza! # πŸ‡ΉπŸ‡Ώ MsaadaFund β€” Tanzania Crowdfunding Platform **Pamoja Tunaweza** β€” A production-ready crowdfunding platform built for Tanzania, supporting M-Pesa, Tigo Pesa, Airtel Money, and bank transfers. --- ## Features - **Phone OTP Authentication** β€” Login with any Tanzania mobile number - **Campaign Management** β€” Create, edit, and track crowdfunding campaigns - **3 Campaign Types** β€” Dharura (emergency), Biashara (business), Jamii (community) - **4 Payment Methods** β€” M-Pesa, Tigo Pesa, Airtel Money, Bank Transfer (via AzamPay) - **Real-time Notifications** β€” SMS alerts via Africa's Talking - **Image Uploads** β€” Campaign photos with auto-resize - **Campaign Updates** β€” Owners can post progress updates - **Donor Notifications** β€” Auto-SMS to donors and campaign owners - **Admin Review Flow** β€” Campaigns require approval before going live - **Rate Limiting & Security** β€” Helmet, CORS, rate limiter, JWT auth --- ## Tech Stack | Layer | Technology | |------------|----------------------------------------| | Backend | Node.js + Express | | Database | SQLite (dev) / PostgreSQL (production) | | Payments | AzamPay (M-Pesa, Tigo, Airtel Money) | | SMS | Africa's Talking | | Auth | JWT + Phone OTP | | Frontend | Vanilla HTML/CSS/JS (SPA) | | File Store | Local (`/uploads`) β†’ swap for S3 | --- ## Quick Start ### 1. Install dependencies ```bash cd msaadafund npm install ``` ### 2. Set up environment ```bash cp .env.example .env # Edit .env with your API keys ``` ### 3. Start the server ```bash # Development (with auto-reload + sandbox payments) npm run dev # Production NODE_ENV=production npm start ``` Server starts at: **http://localhost:3000** > In development, the database is seeded with 6 sample campaigns automatically. > OTP code is always `123456` in development β€” no SMS needed for testing. --- ## Environment Variables | …