School Administration System
A complete, role‑based school management platform built with Django and modern front‑end technologies. Manages students, teachers, academics, finances, and communication – all from a single, intuitive dashboard.
✨ Core Features
👥 User Roles
- Admin – full system control
- Teacher – mark entry, class management
- Student – view results, payments, messages
📖 Academics
- Subject & grade management
- CATs, exams, auto‑grading (A–F)
- Term‑wise marks & reports
Finance
- Fee structures & student balances
- M‑Pesa STK Push integration
- Payment receipts & reports
📬 Communication
- Internal messaging & inbox
- Notifications & announcements
- Holiday notices with bulk alerts
🏗️ Architecture
├── accounts/ # Custom User model & auth ├── students/ # Student profiles, admissions ├── teachers/ # Teacher qualifications, classes ├── marks/ # Subjects, marks, grading ├── payments/ # Fee management & M‑Pesa ├── school_messages/ # Messaging & notifications └── school_a/ # Project settings & URLs
🧰 Tech Stack
| Layer | Technology |
|---|---|
| Backend | Django 5.2, Django REST Framework |
| Frontend | Django Templates, Bootstrap 5, Chart.js |
| Admin Theme | Django Unfold |
| Database | PostgreSQL (production), SQLite (dev) |
| Static Files | WhiteNoise |
| Payments | M‑Pesa API (Lipa Na M‑Pesa) |
| Deployment | Gunicorn, Nginx, Render / AWS |
| Background Tasks | Celery + Redis |
🔐 Key Implementations
- Auto‑grading algorithm – calculates final grade from CAT1, CAT2, and Main Exam with configurable weights.
- Role‑based dashboards – each user type sees only relevant data, using custom template tags and middleware.
- M‑Pesa integration – STK push to parent/student phone; callback updates payment status in real time.
- Performance trend analysis – generates student‑level trends (improving/declining) and stores them for reporting.
- Holiday & announcement notifications – bulk creates notifications for students/teachers with background tasks.
- Secure admin panel – Django Unfold modernises the interface while maintaining all built‑in security features.
💡 Production ready with environment‑based settings, PostgreSQL support, WhiteNoise for static files, and full CSRF/SSL security configuration.
Built for schools that need a scalable, maintainable management solution.
Project Gallery









