School Management System
Introduction
A School Management System (SMS) is a computerized application developed to
handle the daily operations of a school in an efficient and organized manner.
Schools generate a large amount of data every day—such as student records,
attendance sheets, exam results, fee details, library registers, teacher
information, and administrative documents. Managing all this manually is time-
consuming, prone to errors, and requires a lot of physical storage.
A School Management System automates these tasks using digital tools and
databases. It stores all information securely, retrieves it instantly, and updates it
with ease. This improves the school’s efficiency, reduces paperwork, and
enhances accuracy. With the increasing role of technology in education, such
systems have become essential for all modern institutions.
Need for a School Management System
Earlier, schools used paper registers and files to maintain records. This traditional
method has several limitations:
Registers become bulky and difficult to store.
Searching for old data takes a long time.
Handwritten entries can be inaccurate or hard to read.
Manual calculations (attendance %, marks, fee details) often lead to
mistakes.
Data loss occurs due to insects, water, or misplacement.
A computerized system solves these problems with:
Quick data entry and access
Accurate automatic calculations
Digital storage without physical space
Easy data backup and restoration
High security through passwords and permissions
Thus, a School Management System is needed to handle all operations smoothly
and reliably.
Objectives of the System
The main objectives of developing this project are:
1. To store, organize, and manage large amounts of school data efficientl
2. To automate tasks such as attendance, fee calculation, and result preparation.
3. To reduce manual workload for teachers and administrators.
4. To improve communication between school, students, and parents.
5. To generate quick and accurate reports for decision-making.
6. To ensure data security through authentication and authorized access.
Functional Scope
This system covers almost every important area of school administration:
1. Admission & Student Records
Store details of newly admitted students.
Maintain personal, academic, and contact information.
Update or delete records whenever required.
2. Teacher & Staff Management
Maintain teacher qualifications, subjects, and class assignments.
Store staff salary, attendance, and contact details.
3. Attendance Management
Mark daily attendance for students and staff.
Automatic calculation of monthly and yearly attendance percentages.
Generate attendance reports instantly.
4. Timetable Management
Create class timetables.
Manage teacher schedules to avoid conflicts.
Update timetables when teachers are absent.
5. Fee Management
Record fee paid by students.
Track pending dues, fines, and receipts.
Generate monthly fee reports for accounts section.
6. Examination Management
Store subject-wise marks for all exams.
Automatic total, percentage, and grade calculation.
Generate digital mark sheets and result reports.
7. Library Management
Maintain book catalog with author and publisher details.
Issue and return books with due date tracking.
Calculate fines for late returns.
Prevent duplicate entries or book loss.
8. Report Generation
The system can generate:
Attendance reports
Fee reports
Exam results
Book issue reports
Student performance summaries
Teacher workload reports
This helps the school administration take quick and informed decisions.
Key Features of the System
1. Centralized Database – All records are stored in one place for easy access.
2. User Authentication – Only authorized users can log in.
3. Search & Filter Options – Find data by name, roll number, class, date, etc.
4. GUI or Menu-Driven Interface – Easy to use and understand.
5. Data Backup & Recovery – No risk of permanent data loss.
6. Automatic Calculations – Reduces manual errors.
7. Secure Data Storage – Sensitive information remains protected.
8. Consistency & Accuracy – Updates reflect across all linked modules.
9. Low Maintenance Cost – Only requires regular updates.
10. Environment Friendly – Reduces paper usage drastically.
Advantages
Saves time, effort, and manpower.
Increases productivity and reduces workload.
Improves accuracy in results and financial records.
Enhances transparency and communication.
Provides easy access to historical data.
Helps teachers focus more on teaching instead of paperwork.
Offers better planning and management for school authorities.
Software and Hardware Requirements
Software Requirements-
Operating System: Windows / Linux
Programming Language: Python / Java / PHP
Database: MySQL / SQLite
Tools: Python IDE (IDLE, PyCharm), MySQL Workbench
Hardware Requirements-
CPU with minimum 2 GB RAM
Hard Disk: Minimum 2–4 GB free space
Keyboard, Mouse, and Monitor
Working of the System
1. User logs into the system using a secure ID and password.
2. User selects required module (student, fee, attendance, library, etc.).
3. The system displays a menu with options like add, update, delete, search,
generate report, etc.
4. User performs the required action.
5. Data is stored in the database using SQL queries.
6. When needed, information is retrieved instantly and displayed on screen.
7. System automatically generates reports for printing or downloading.
The entire workflow is smooth, fast, and accurate.
Conclusion
The School Management System is a powerful digital tool that simplifies and
improves the functioning of any educational institution. It replaces outdated
manual systems with modern computerized processes, making data handling
faster, safer, and more accurate.
The project demonstrates how technology can solve real-life problems by saving
time, reducing errors, and improving overall efficiency.
This system not only benefits school administration but also helps teachers,
students, and parents by providing organized, transparent, and reliable
information at the right time.
CODING
import [Link] as sql
import datetime as dt
conn = [Link](
host="localhost",
user="root",
passwd="Twgs@123",
database="school"
)
if conn.is_connected():
print("✔ Connected to School Database")
cur = [Link]()
# ---------------------- STUDENT FUNCTIONS ----------------------
def add_student():
adm = int(input("Enter Admission No: "))
name = input("Enter Student Name: ")
cls = input("Enter Class: ")
sec = input("Enter Section: ")
ph = input("Enter Phone No: ")
fee = input("Fee status (Paid/Unpaid): ")
q = "INSERT INTO students VALUES(%s,%s,%s,%s,%s,%s)"
[Link](q, (adm, name, cls, sec, ph, fee))
[Link]()
print("Student Added Successfully!")
def display_students():
[Link]("SELECT * FROM students")
data = [Link]()
print("\n---- STUDENT LIST ----")
for row in data:
print(row)
def search_student():
adm = int(input("Enter Admission No to Search: "))
[Link]("SELECT * FROM students WHERE admno=%s",
(adm,))
data = [Link]()
if data:
print("Record Found:", data)
else:
print("No Record Found!")
def update_student():
adm = int(input("Enter Admission No to Update: "))
new_phone = input("Enter New Phone Number: ")
[Link]("UPDATE students SET phone=%s WHERE
admno=%s",
(new_phone, adm))
[Link]()
print("Student Updated Successfully!")
def delete_student():
adm = int(input("Enter Admission No to Delete: "))
[Link]("DELETE FROM students WHERE admno=%s",
(adm,))
[Link]()
print("Student Deleted Successfully!")
# ---------------------- TEACHER FUNCTIONS ----------------------
def add_teacher():
tid = int(input("Enter Teacher ID: "))
name = input("Enter Name: ")
sub = input("Enter Subject: ")
ph = input("Enter Phone: ")
q = "INSERT INTO teachers VALUES(%s,%s,%s,%s)"
[Link](q, (tid, name, sub, ph))
[Link]()
print("Teacher Added Successfully!")
def display_teachers():
[Link]("SELECT * FROM teachers")
data = [Link]()
print("\n---- TEACHER LIST ----")
for row in data:
print(row)
# ---------------------- ATTENDANCE ----------------------
def mark_attendance():
adm = int(input("Enter Admission No: "))
date = [Link]()
status = input("Enter Status (Present/Absent): ")
q = "INSERT INTO attendance VALUES(%s,%s,%s)"
[Link](q, (adm, date, status))
[Link]()
print("Attendance Marked")
# ---------------------- MENU ----------------------
while True:
print("""
========== SCHOOL MANAGEMENT SYSTEM ==========
1. Add Student
2. Display Students
3. Search Student
4. Update Student
5. Delete Student
6. Add Teacher
7. Display Teachers
8. Mark Attendance
9. Exit
""")
ch = int(input("Enter choice: "))
if ch == 1:
add_student()
elif ch == 2:
display_students()
elif ch == 3:
search_student()
elif ch == 4:
update_student()
elif ch == 5:
delete_student()
elif ch == 6:
add_teacher()
elif ch == 7:
display_teachers()
elif ch == 8:
mark_attendance()
elif ch == 9:
print("Thank you!")
break
else:
print("Invalid Choice!")
Enter Choice:
Display Students:
Update Students:
Delete Students:
Add Teachers:
Display Teachers:
Mark Attendance: