Student Academic Dashboard
A full-stack web application for managing and reporting student, teacher, and admin data. Features role-based access control and a structured database design focused on relational data integrity.
View RepositoryAcademic institutions often manage student data through spreadsheets. This project explores a proper relational database-backed system with role separation — giving students, teachers, and admins their own dedicated views backed by a consistent, well-structured MySQL database.

Normalized MySQL schema
18 tables designed to 3NF, with foreign key constraints enforcing data integrity across enrollment, grading, attendance, and scheduling.
Role-based data model
Separate relational paths for student, teacher, and admin data, with a users table mapping accounts to the correct role and record.
API-ready structure
Clean junction tables for many-to-many relationships (enrollment, teacher assignments) built to plug directly into REST endpoints.
Database normalization
The many-to-many relationship between students, courses, and teachers could easily lead to redundant data. Normalized the schema to 3NF to keep it consistent and easy to query.
A functional full-stack app demonstrating relational database integration and role-based access — moving academic record-keeping away from spreadsheets and into a proper, structured system.