EduPay Africa is a continent-wide school payment platform designed specifically for African educational institutions. Starting in Kenya and expanding across Africa, the platform simplifies fee collection, management, and reconciliation for schools while providing parents with a seamless payment experience.
EduPayAfrica — Django Platform for Institutions
==============================================
Overview
--------
EduPayAfrica is a Django-based platform for managing educational institutions: programs, academic years, staff, students, and fee structures, with an admin UI optimized for institutional workflows. It supports role-based administration, CSV bulk uploads, and streamlined data entry for school admins.
Key Features
------------
- Institution management: `InstitutionProfile`, academic years, terms, faculties, and programs
- Student records with program and academic year associations
- Staff management with password set/update in admin
- Admin UI improvements (Jazzmin theme overrides for readable dropdowns)
- Bulk data import workflows using CSV
- Sample data generators and quick commands
Tech Stack
----------
- Backend: Django
- Database: SQLite (development)
- Admin UI: Django Admin + Jazzmin tweaks
- Deployment: Render (Procfile, render.yaml)
Repository Structure
--------------------
- Root
- `requirements.txt` — Python dependencies
- `Procfile`, `render.yaml` — deployment configuration
- `README.md` — this guide
- `EduPayAfrica/` — main Django project and apps
Project Apps (high level)
-------------------------
- `institutions/` — core institutional models, admin customizations, management commands
- `accounts/` — authentication helpers and views
- `core/`, `leads/`, `platform_admin/` — additional domain modules
Getting Started
---------------
1) Install dependencies
- Create/activate your virtual environment
- Install requirements
```
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
```
2) Apply migrations
```
cd EduPayAfrica
python manage.py migrate
```
3) Create a superuser
```
python manage.py createsuperuser
```
4) Run the development server
```
python manage.py runserver
```
Admin Panel
-----------
- URL: `
localhost`
- Dropdowns for Institution/Program/Academic Year are styled for readabilit …