The School Management System (SMS) is a PHP-based web application designed to manage operations in a primary school. The system follows Object-Oriented Programming (OOP) principles and the Model-View-Controller (MVC) architecture. It supports role-based access for teachers and office administrators and allows efficient management of grades, classes, students, subjects, scores, school years, terms, and reports.
- Project Management (Notion): https://notion.so/your-project-link
- UI/UX Design (Figma): https://figma.com/file/your-figma-link
- Application URL: http://localhost/sms
- API Testing (Postman): https://postman.com/your-collection-link
- Version Control (Git Repository): https://github.com/your-repo-link
- Project Doc: https://drive.google.com/file/d/1FpkZXWo2A3RXpxsYutybNxzIfPDlpNgM/view?usp=drive_link
- User and role management (Teachers and Office Administrators)
- Grade management (Grades 1 to 6, predefined)
- Class management (1 to 6 classes per grade, fixed grade association)
- Student management (students assigned to one class only)
- Subject management (shared across classes in the same grade)
- Score management (per subject, per term, per student)
- School year and term management
- Student report cards
- Average performance reports by grade and subject
- Full system access
- Manage users, grades, classes, students, subjects, school years, and terms
- Manage and update student scores only
- PHP (Pure PHP using OOP)
- MySQL
- React
- Apache (XAMPP)
The system follows the MVC architecture:
- Models handle database interactions
- Views handle user interfaces
- Controllers manage application logic and user requests
- Install XAMPP on your system
- Start Apache and MySQL services
- Copy the
smsfolder into thehtdocsdirectory
Example:C:\xampp\htdocs\sms - Open phpMyAdmin
- Create a database named
sms_db - Import the provided
database.sqlfile - Configure database credentials in the config file
- Open a browser and navigate to:
http://localhost/sms
(Provide sample credentials if allowed)
Admin
- Username:
admin - Password:
admin123
Teacher
- Username:
teacher1 - Password:
teacher123
- Input validation and sanitation on all forms
- Prepared statements to prevent SQL injection
- Output escaping to prevent XSS
- Role-based access control
All system features were tested for correctness, security, and usability. Only features demonstrated in the video are intended for marking.
The full system demonstration is available via the YouTube link provided in Link.txt.