Skip to content

Dantechdevs/chamapro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

81 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

ChamaPro ๐Ÿค

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.

Python Django License: MIT Status


Screenshots

ChamaPro Dashboard ChamaPro Members View

โœจ Features

๐Ÿ‘ฅ Member & Group Management

  • 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

๐Ÿ’ฐ Contributions & Finance

  • 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

๐Ÿฆ Loan Management

  • Apply for, approve, disburse, and track loan repayments
  • Configurable loan terms and interest rates per chama
  • Loan summaries and overdue tracking

๐Ÿ“Š Reports & Analytics

  • Member statements and contribution histories
  • Cash flow statements, balance sheets, and P&L reports
  • Loan summaries and expense breakdowns
  • Group performance dashboard

๐Ÿ“… Meetings & Governance

  • Schedule meetings with agendas
  • Take attendance and log minutes
  • Automated reminders for upcoming meetings

๐Ÿ”” Notifications

  • SMS and email alerts for contributions, loan repayments, and meetings
  • Automated payment reminders to members

๐Ÿ” Security & Access

  • Secure login with Two-Factor Authentication (2FA)
  • Role-based permissions (Admin, Treasurer, Member)
  • All data encrypted in transit and at rest

๐Ÿ“ฑ Platform & Integrations

  • 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

๐Ÿ›  Technology Stack

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

๐Ÿš€ Getting Started

Prerequisites

  • Python 3.10+
  • pip
  • PostgreSQL (or SQLite for local dev)
  • Git

1. Clone the repository

git clone https://github.com/Dantechdevs/chamapro.git
cd chamapro

2. Create and activate a virtual environment

python -m venv venv
source venv/bin/activate      # Mac/Linux
venv\Scripts\activate         # Windows

3. Install dependencies

pip install -r requirements.txt

4. Configure environment variables

Copy the example env file and update with your values:

cp .env.example .env

Key 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

5. Run migrations

python manage.py migrate

6. Create a superuser

python manage.py createsuperuser

7. Start the development server

python manage.py runserver

Visit http://localhost:8000 in your browser.


๐Ÿ“ Project Structure

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

๐Ÿ—บ Roadmap

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

๐Ÿค Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/your-feature
  3. Commit your changes: git commit -m 'Add your feature'
  4. Push to the branch: git push origin feature/your-feature
  5. Open a Pull Request

๐Ÿ“„ License

This project is licensed under the MIT License โ€” see the LICENSE file for details.


๐Ÿ‘จโ€๐Ÿ’ป Author

Daniel Ngwasi (Dantechdevs)


ChamaPro โ€” Built for Africa, by Africa. ๐ŸŒ

About

ChamaPro is a Django-based group financial management system designed to help community savings groups, investment clubs, and chamas manage their contributions, loans, expenses, and meetings with ease.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors