Skip to content

CLI-based School Management System built with Python and OOP, featuring modular architecture, JSON data storage, student & teacher management, and academic reporting system.

License

Notifications You must be signed in to change notification settings

GenStrykeCodex/school-management-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

School Management System v1.0 (Python CLI)

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.


Features

Student Management

  • Add new students
  • Search student by ID
  • View students by class
  • Update student marks
  • Delete student records
  • Unique roll number per class validation

Teacher Management

  • Add new teachers
  • View all teachers
  • Search teacher by ID
  • Update teacher salary
  • Delete teacher records

Academic Reports

  • Individual student academic report
  • Class topper identification
  • Class average percentage calculation
  • Pass/Fail statistics by class

System Features

  • JSON-based persistent storage
  • Input validation layer
  • Modular service-based architecture
  • CLI menu-driven interface
  • Version-controlled development

Technologies Used

  • Python 3.14
  • PyCharm IDE and Visual Studio Code
  • JSON (File-based storage)
  • Object-Oriented Programming
  • Modular Architecture
  • Git & GitHub (Version Control)

▶ How To Run

1️⃣ Clone the Repository

git clone <repository-url>
cd School-Management-System

2️⃣ Run The Program

python main.py

or (PyCharm users):

Right Click → Run main.py

Data Storage

  • Student and teacher data is stored locally using JSON files.
  • Files are automatically created and updated by the system.
  • No external database is required.

Versioning Strategy

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

Learning Objectives

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

Future Improvements

  • Database integration (MySQL / SQLite)
  • Role-based access (Admin / Teacher)
  • Grade system (A, B, C)
  • Export reports to PDF
  • GUI version (Tkinter / JavaFX)
  • Authentication system

Author

Developed by GenStryke Codex

GitHub: https://github.com/GenStrykeCodex/


License

This project is licensed under the MIT License.


About

CLI-based School Management System built with Python and OOP, featuring modular architecture, JSON data storage, student & teacher management, and academic reporting system.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages