A full-featured, multi-tenant school management platform for Algerian private tutoring centers. Built with Flask, featuring role-based access, real-time messaging, payment tracking, and session management.
# π« DZ Schools β School Management Platform
**DZ Schools** is a full-featured, multi-tenant school management platform built for Algerian private tutoring centers. It provides a unified web interface for students, teachers, administrators, and super admins β covering everything from session scheduling and attendance tracking to real-time messaging and payment management.
---
## β¨ Key Features
### π¨βπ Student Portal
- Register for subjects with teacher and group selection
- Track session attendance and academic progress
- Download exercises and course materials
- Real-time chat with teachers
- Request group transfers and apply for additional classes
- View payment history and upcoming dues
### π©βπ« Teacher Dashboard
- Manage teaching groups with customizable time slots
- Mark student attendance per session
- Upload exercises, assignments, and study materials
- Chat with enrolled students
- View personal revenue statistics and student progress reports
### π οΈ Admin Panel
- Full school management: students, teachers, groups, and subjects
- Send announcements to all users or specific roles
- Confirm payments and monitor revenue flow
- Process group-change requests and class applications
- Access detailed system statistics and reports
### π Super Admin Console
- Manage multiple schools (multi-tenant SaaS architecture)
- Create and configure school accounts
- Platform-wide monitoring and oversight
### π Security
- Password hashing with Werkzeug
- CSRF protection via Flask-WTF
- SQL injection prevention (SQLAlchemy ORM)
- Role-based access control (Student / Teacher / Admin / Super Admin)
- Tenant isolation β each school's data is strictly separated
- File upload validation (type & size enforcement)
---
## π§° Tech Stack
| Layer | Technology |
|---|---|
| **Backend** | Python 3.9+, Flask 2.x |
| **ORM** | Flask-SQLAlchemy, Flask-Migrate |
| **Auth** | Flask-Login, Werkzeug |
| **Forms** | Flask-WTF |
| **Database** | SQLite (dev) / PostgreSQL-ready (prod) |
| * β¦