Welcome to School Management Platform
The School Management Platform is a full-featured web application built with PHP and MySQL that streamlines academic administration. It provides role-based access for administrators, teachers, and students to manage all aspects of school operations.Quick links
Installation
Get up and running with XAMPP and database setup
Quick start
First login and dashboard tour for all user roles
Admin guide
Manage students, teachers, courses, and timetables
Teacher guide
View courses, enter grades, and check your schedule
User roles
The platform supports three distinct user roles, each with specific capabilities:Admin
Administrators have full control over the school management system:- Student management - Create, view, and delete student accounts
- Teacher management - Add and manage teaching staff
- Subject management - Define subjects available in the curriculum
- Course creation - Assign teachers to subjects to create courses
- Enrollment management - Enroll students in courses
- Timetable creation - Schedule classes and manage school timetables
- Bulletin access - View student academic bulletins and performance
Teacher
Teachers can manage their courses and student grades:- Course viewing - Access all assigned courses
- Grade management - Enter and update student grades for their courses
- Timetable access - View personal teaching schedule
- Student roster - See enrolled students in each course
Student
Students have read-only access to their academic information:- Timetable viewing - Check personal class schedule
- Grade consultation - View grades for all enrolled courses
- Average calculation - See overall academic performance
- Bulletin access - Download or view academic bulletin
Key features
Secure authentication
The platform implements robust security measures:Session-based authentication includes automatic timeout after 30 minutes of inactivity to protect user accounts.
Role-based access control
Each route is protected with role verification:MVC architecture
The application follows the Model-View-Controller pattern for clean separation of concerns:- Models - Database interactions and business logic (
app/models/) - Views - HTML templates with Bootstrap styling (
app/views/) - Controllers - Request handling and routing (
app/controllers/)
Database structure
The MySQL database includes these main tables:users- User authentication and role informationstudents- Student-specific datateachers- Teacher profilessubjects- Available subjects in curriculumcourses- Teacher-subject assignmentsenrollments- Student course registrationsgrades- Student performance recordstimetable- Class scheduling information
Technology stack
- PHP - Server-side scripting and business logic
- MySQL - Relational database management
- PDO - Database abstraction layer with prepared statements
- Bootstrap - Responsive UI framework
- XAMPP - Local development environment (Apache + MySQL + PHP)
- MVC Pattern - Architectural design pattern