rpmjp/portfolio
rpmjp/projects/student-management-system/screenshots.md
CompletedApril to May 2026

AI-powered Student Management System

Production-grade full-stack platform with role-based portals, real-time analytics, and a Random Forest model that predicts academic risk with 96% accuracy.

Java 21Jakarta EEMySQL 8PythonFlaskscikit-learnTomcat 10
Languages
Java85.3%
CSS10.8%
Python2.8%
Other1.1%
screenshots.md

Screenshots

The system runs in production with full feature parity across staff and student roles, dark and light themes, and three responsive breakpoints. Every screenshot below is from the live app: no mockups.

Staff dashboard

Real-time analytics with interactive Chart.js visualizations: grade distribution by letter range, graded vs. ungraded enrollment ratio, course enrollment totals, and student demographics by major. Theme toggles instantly without page reload.

Dashboard dark

Dashboard light

Student management

Full CRUD on the student roster with auto-generated student IDs (initials + 3-digit sequence), live search across name/email/major, ML risk assessment per student, and admin password reset.

Students

Enrollment and grade tracking

Enroll students in courses by semester, assign letter grades that auto-convert to grade points (A=4.0, B+=3.33, etc.), and update grades inline. The UNIQUE constraint on (student_id, course_id, semester) prevents duplicate enrollments.

Enrollments

Student portal

Students log in with their auto-generated ID and see a personalized dashboard: GPA, enrolled courses, total credits, and per-course grades. Different navigation, different view, same authentication layer.

Student portal home

Student grades

AI risk assessment

The Random Forest model runs on the Flask microservice and returns a risk classification with a confidence score and human-readable recommendation. Staff and students see the same model output, formatted appropriately for each role.

At risk student

On-track student

Authentication

A single login page routes users to the correct portal based on their role. Theme detection uses prefers-color-scheme with manual override persisted in localStorage.

Login dark

Login light

Responsive design

Every page adapts from desktop to tablet to mobile. Tables on desktop transform into stacked card layouts on mobile, navigation collapses to fit the viewport, and form fields stack vertically.

Mobile dashboard

Mobile student portal