A secure web-based School Management System for Eagle Vision Basic School, Ghana. Built with PHP and MySQL
# 🏫 Eagle Vision Basic School Management System
A full-featured, secure web-based School Management System built with PHP and MySQL for **Eagle Vision Basic School**, North-Legon Extension, Accra, Ghana.
Developed as a final year BSc Information Technology project at the **University of Ghana**, this system replaces the school's entirely manual, paper-based administrative processes with a centralised digital platform covering student records, attendance, results, and report card generation.
---
## 📸 Screenshots
> *(Screenshots will be added after deployment)*
| Login Page | Admin Dashboard |
|---|---|
| | |
| Students (Class Card Grid) | Report Card |
|---|---|
| | |
---
## ✨ Features
### 🔐 Authentication & Security
- Role-based login for **Admin**, **Teacher**, and **Parent**
- Login attempt limiting — 5 failed attempts triggers a **15-minute lockout** with live countdown timer
- **SQL injection** prevention via prepared statements across all 27 PHP files
- **XSS protection** via output encoding on all 222 data output points
- **Bcrypt password hashing** — no plaintext passwords stored anywhere
### 👨💼 Admin Portal
- **Dashboard** — live stats (students, teachers, classes, parents, today's attendance) with gender breakdown and level progress bars
- **Student management** — add, view, edit, delete students with auto-generated admission numbers
- **Teacher management** — profile cards with assigned classes and subject tags
- **Parent management** — link to children, reset passwords, delete orphaned accounts
- **Class & subject management** — edit modal, POST-based deletion, level-type assignments
- **Attendance overview** — view all classes across all teachers
- **Results & report card generation** — print individual or whole-class report cards
### 👩🏫 Teacher Portal
- **Dashboard** — my classes, students I teach, today's attendance status, quick actions
- **Attendance marking** — toggle Present/Absent per student, mark-all buttons, live counter, …