Professional group financial management for Kenyan chamas, SACCOs, and investment clubs.
ChamaPro is a Django-based platform that digitizes and automates the full lifecycle of community savings groups โ from member onboarding and contribution tracking to loan management, meeting coordination, and financial reporting. Built with the Kenyan chama ecosystem in mind.
- Add, edit, and manage member profiles with full contact details
- Create and manage multiple chamas under a single account
- Role-based access: Admin, Treasurer, and Member roles
- Member invitation system and activity tracking
- Record, track, and reconcile member contributions
- Automated penalty management for late or missed payments โ reflected on member statements
- Expense tracking (land purchases, services, operational costs)
- Bank account management โ deposits, withdrawals, and transfers
- Project/investment tracking โ monitor capital allocation across ventures (e.g. land, stocks, business)
- Downloadable financial statements โ PDF and Excel export
- Apply for, approve, disburse, and track loan repayments
- Configurable loan terms and interest rates per chama
- Loan summaries and overdue tracking
- Member statements and contribution histories
- Cash flow statements, balance sheets, and P&L reports
- Loan summaries and expense breakdowns
- Group performance dashboard
- Schedule meetings with agendas
- Take attendance and log minutes
- Automated reminders for upcoming meetings
- SMS and email alerts for contributions, loan repayments, and meetings
- Automated payment reminders to members
- Secure login with Two-Factor Authentication (2FA)
- Role-based permissions (Admin, Treasurer, Member)
- All data encrypted in transit and at rest
- Works on desktop, tablet, and mobile
- REST API โ enables mobile apps and third-party integrations
- M-Pesa integration (coming soon) โ STK push payments, wallet top-ups, and withdrawals to M-Pesa or bank account
- Cloud-hosted with 99.9% uptime target
| Layer | Technology |
|---|---|
| Backend | Django (Python 3.10+) |
| Frontend | HTML, CSS, Bootstrap / Tailwind CSS |
| Database | PostgreSQL (production) / SQLite (dev) |
| Authentication | Django Auth + django-allauth + 2FA |
| API | Django REST Framework (DRF) |
| Payments | M-Pesa Daraja API (planned) |
| Notifications | Africa's Talking SMS API / SendGrid |
| Deployment | Docker + Nginx + Gunicorn |
- Python 3.10+
- pip
- PostgreSQL (or SQLite for local dev)
- Git
git clone https://github.com/Dantechdevs/chamapro.git
cd chamapropython -m venv venv
source venv/bin/activate # Mac/Linux
venv\Scripts\activate # Windowspip install -r requirements.txtCopy the example env file and update with your values:
cp .env.example .envKey variables to set in .env:
SECRET_KEY=your-django-secret-key
DEBUG=True
DATABASE_URL=postgresql://user:password@localhost:5432/chamapro
MPESA_CONSUMER_KEY=your-mpesa-key
MPESA_CONSUMER_SECRET=your-mpesa-secret
EMAIL_HOST_USER=your-email@gmail.com
python manage.py migratepython manage.py createsuperuserpython manage.py runserverVisit http://localhost:8000 in your browser.
chamapro/
โโโ chama/ # Core app โ groups, members, contributions
โโโ loans/ # Loan management module
โโโ meetings/ # Meetings, agendas, minutes
โโโ reports/ # Analytics and report generation
โโโ notifications/ # SMS and email alerts
โโโ api/ # REST API (Django REST Framework)
โโโ templates/ # HTML templates
โโโ static/ # CSS, JS, images
โโโ manage.py
โโโ requirements.txt
โโโ README.md
| Phase | Module | Status |
|---|---|---|
| 1 | Project setup & authentication (2FA) | โ In progress |
| 2 | Member & group management | โ In progress |
| 3 | Contribution tracking & penalty management | ๐ Planned |
| 4 | Loan management | ๐ Planned |
| 5 | Expense, project & bank account management | ๐ Planned |
| 6 | Meetings & governance module | ๐ Planned |
| 7 | Reports & data export (PDF/Excel) | ๐ Planned |
| 8 | REST API (DRF) | ๐ Planned |
| 9 | SMS & email notifications | ๐ Planned |
| 10 | M-Pesa Daraja integration | ๐ Planned |
| 11 | Mobile app (React Native / Flutter) | ๐ฎ Future |
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature - Commit your changes:
git commit -m 'Add your feature' - Push to the branch:
git push origin feature/your-feature - Open a Pull Request
This project is licensed under the MIT License โ see the LICENSE file for details.
Daniel Ngwasi (Dantechdevs)
- Email: damnngwasi@gmail.com
- GitHub: @Dantechdevs
- Location: Nairobi, Kenya ๐ฐ๐ช
ChamaPro โ Built for Africa, by Africa. ๐