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) |
| * …