EdTech subscription platform integrating Safaricom SDP/DCB for subscription to Kenyan learners
# Jifunze - Educational Platform
An enterprise-level educational application tailored for the Kenyan market, supporting grades Pre-School through 6th Grade.
## Project Overview
Jifunze is a comprehensive learning platform that provides:
- Interactive quizzes and exercises aligned with the Kenyan curriculum
- Progress tracking and analytics for parents
- Gamified learning with sticker rewards
- Child-friendly, mobile-first interface
- Multi-child account support
- Comprehensive admin content management
## Technology Stack
### Backend
- **Framework**: Django 4.2+ with Django REST Framework
- **Database**: PostgreSQL 15+
- **Authentication**: JWT (djangorestframework-simplejwt)
- **Caching**: Redis
- **Task Queue**: Celery
- **Storage**: AWS S3 (for media files)
### Frontend
- **Framework**: React 18+ with TypeScript
- **State Management**: Redux Toolkit
- **UI Library**: Material-UI (MUI)
- **Form Handling**: React Hook Form
- **HTTP Client**: Axios
- **Build Tool**: Vite
- **Testing**: Jest + React Testing Library
### DevOps
- **Containerization**: Docker & Docker Compose
- **Web Server**: Nginx
- **Application Server**: Gunicorn
- **CI/CD**: GitHub Actions
## Architecture
The application follows a microservices-inspired modular architecture:
```
jifunze/
├── backend/ # Django backend
│ ├── apps/ # Django apps (modular)
│ │ ├── authentication/
│ │ ├── users/
│ │ ├── curriculum/
│ │ ├── quizzes/
│ │ ├── progress/
│ │ ├── rewards/
│ │ ├── reports/
│ │ └── notifications/
│ ├── core/ # Core settings and utilities
│ └── api/ # API versioning
├── frontend/ # React frontend
│ ├── src/
│ │ ├── components/ # Reusable components
│ │ ├── features/ # Feature-based modules
│ │ ├── services/ # API services
│ │ ├── store/ # Redux store
│ │ └── utils/ # Utilities
├── docker/ # Docker configurations
└── docs/ …