A modular School Management System built using Python, Object-Oriented Programming, and JSON-based storage.
This project focuses on clean architecture, layered design, and real-world data handling practices.
- Add new students
- Search student by ID
- View students by class
- Update student marks
- Delete student records
- Unique roll number per class validation
- Add new teachers
- View all teachers
- Search teacher by ID
- Update teacher salary
- Delete teacher records
- Individual student academic report
- Class topper identification
- Class average percentage calculation
- Pass/Fail statistics by class
- JSON-based persistent storage
- Input validation layer
- Modular service-based architecture
- CLI menu-driven interface
- Version-controlled development
- Python 3.14
- PyCharm IDE and Visual Studio Code
- JSON (File-based storage)
- Object-Oriented Programming
- Modular Architecture
- Git & GitHub (Version Control)
git clone <repository-url>
cd School-Management-Systempython main.pyor (PyCharm users):
Right Click → Run main.py
- Student and teacher data is stored locally using JSON files.
- Files are automatically created and updated by the system.
- No external database is required.
This project follows incremental versioning:
| Version | Description |
|---|---|
| v0.1 – v0.4 | Core CRUD Services Development |
| v0.5 | Reporting & Analytics Module |
| v0.6 | CLI Menu Integration |
| v1.0 | Initial Stable Release |
This project was built to practice:
- Python OOP principles
- Modular backend design
- Separation of concerns
- File handling with JSON
- Real-world CRUD logic
- CLI application flow control
- Git workflow and versioning
- Database integration (MySQL / SQLite)
- Role-based access (Admin / Teacher)
- Grade system (A, B, C)
- Export reports to PDF
- GUI version (Tkinter / JavaFX)
- Authentication system
Developed by GenStryke Codex
GitHub: https://github.com/GenStrykeCodex/
This project is licensed under the MIT License.