Moyo Mzuri (meaning "Good Heart" in Swahili) is a modern donation platform built with SvelteKit that enables communities to support meaningful social projects through secure M-Pesa payments.
# Moyo Mzuri - Social Projects Donation Platform
**Moyo Mzuri** (meaning "Good Heart" in Swahili) is a modern donation platform built with SvelteKit that enables communities to support meaningful social projects through secure M-Pesa payments.
## 🌟 Features
### Public Features
- **Project Discovery**: Browse active social projects with detailed descriptions and funding goals
- **Secure Donations**: Make donations using M-Pesa STK Push integration
- **Real-time Updates**: Live tracking of donation progress and project funding status
- **Responsive Design**: Mobile-first design with dark/light theme support
- **Progress Tracking**: Visual progress bars showing funding milestones
### Admin Dashboard
- **Project Management**: Create, edit, and manage social projects
- **Donation Tracking**: Monitor all donations with detailed transaction history
- **Analytics**: View donation statistics and project performance
- **Secure Access**: Password-protected admin interface
- **Real-time Data**: Live updates of donation status and project totals
### Technical Features
- **M-Pesa Integration**: Full STK Push implementation for seamless payments
- **Database Management**: SQLite with Drizzle ORM for reliable data storage
- **File Upload**: Image upload functionality for project photos
- **API-First**: RESTful API design for easy integration
- **Modern Stack**: Built with SvelteKit 2.0, TailwindCSS 4.0, and modern JavaScript
## 🏗️ Architecture
### Technology Stack
- **Frontend**: SvelteKit 2.0 with Svelte 5
- **Styling**: TailwindCSS 4.0 with custom components
- **Database**: SQLite with Drizzle ORM
- **Payment**: M-Pesa Daraja API integration
- **Deployment**: Node.js compatible (Vercel, Netlify, etc.)
### Database Schema
#### Projects Table
- `id` - Primary key (auto-increment)
- `title` - Project name
- `description` - Detailed project description
- `targetAmount` - Funding goal amount
- `totalRaised` - Current amount raised
- `imageUrl` - Project image URL
- `isActive` …