How emmanuelegwang7-emmason7/school-management-system works
This is a school management system for administrators, teachers, students, and accountants. Its main web workflow routes a browser request through the front controller to role-specific controllers, which perform school operations and render views; the documented capabilities include identity and administration, attendance, exams and results, fees, timetables, learning materials, and assignments. A separate REST API supports mobile and external clients. The excerpts show routing, selected controller/model links, and API authentication helpers; unsampled features are included from the README and tree, so their internal call paths are not inferred.
Main entry points: index.php Web router · database.php PDO connection · api_helper.php API security helpers · Student.php Student data
Components 30
Web application
- Web router
public/index.php - Web views
app/views - Role navigation
app/views/partials/nav.php
School operations
- Authentication
app/controllers/AuthController.php - Administration
app/controllers/AdminController.php - Student records
app/controllers/StudentController.php - Teacher records
app/controllers/TeacherController.php - Attendance
app/controllers/AttendanceController.php - Exams and marks
app/controllers/ExamController.php - Fees and payments
app/controllers/FeeController.php - Timetables
app/models/Timetable.php - Learning materials
app/models/LearningMaterial.php - Assignments
app/models/Assignment.php - Audit logging
app/helpers/AuditLogger.php
Persistence
- User accounts
app/models/User.php - Student data
app/models/Student.php - Teacher data
app/models/Teacher.php - Attendance data
app/models/Attendance.php - Exam data
app/models/Exam.php - MySQL database
- PDO connection
app/config/database.php
REST API
- API security helpers
public/api/includes/api_helper.php - Authentication API
public/api/auth.php - Students API
public/api/students.php - Teachers API
public/api/teachers.php - Attendance API
public/api/attendance.php - Fees API
public/api/fees.php - Analytics API
public/api/analytics.php
Other components
- Browser user
- API client
Connections 48
- Browser user → Web router: requests pages
README.md - Web router → Authentication: routes authentication
public/index.php - Web router → Administration: routes administration
public/index.php - Web router → Student records: routes student actions
public/index.php - Web router → Teacher records: routes teacher actions
public/index.php - Web router → Attendance: routes attendance
public/index.php - Web router → Exams and marks: routes exams
public/index.php - Web router → Fees and payments: routes fees
public/index.php - Web router → Timetables: handles timetable
public/index.php - Web router → Learning materials: handles materials
public/index.php - Web router → Assignments: handles assignments
public/index.php - Web router → Audit logging: records events
public/index.php - Web router → Web views: loads selected view
README.md - Web views → Role navigation: uses shared navigation
app/views/admin.php - Authentication → User accounts: uses account model
app/controllers/AuthController.php - Authentication → Student data: uses student model
app/controllers/AuthController.php - Authentication → Teacher data: uses teacher model
app/controllers/AuthController.php - Administration → User accounts: manages accounts
app/controllers/AdminController.php - Student records → Student data: manages records
app/controllers/StudentController.php - Teacher records → Teacher data: manages records
app/controllers/TeacherController.php - Attendance → Attendance data: records attendance
app/controllers/AttendanceController.php - Attendance → Student data: looks up students
app/controllers/AttendanceController.php - Exams and marks → Exam data: manages marks
app/controllers/ExamController.php - Fees and payments → Student data: uses student records
app/controllers/FeeController.php - Web router → PDO connection: opens PDO connection
public/index.php - PDO connection → MySQL database: connects to
app/config/database.php - User accounts → MySQL database: queries
- Student data → MySQL database: queries
- Teacher data → MySQL database: queries
- Attendance data → MySQL database: queries
app/models/Attendance.php - Exam data → MySQL database: queries
- API client → Authentication API: calls endpoint
README.md - API client → Students API: calls endpoint
README.md - API client → Teachers API: calls endpoint
README.md - API client → Attendance API: calls endpoint
README.md - API client → Fees API: calls endpoint
README.md - API client → Analytics API: calls endpoint
README.md - Authentication API → API security helpers: uses helpers
public/api/auth.php - Students API → API security helpers: uses helpers
public/api/students.php - Teachers API → API security helpers: uses helpers
public/api/teachers.php - Attendance API → API security helpers: uses helpers
public/api/attendance.php - Fees API → API security helpers: uses helpers
public/api/fees.php - Authentication API → PDO connection: uses database
public/api/auth.php - Students API → PDO connection: uses database
public/api/students.php - Teachers API → PDO connection: uses database
public/api/teachers.php - Attendance API → Attendance data: uses attendance model
public/api/attendance.php - Fees API → PDO connection: uses database
public/api/fees.php - API security helpers → PDO connection: loads connection
public/api/includes/api_helper.php