rpmjp/portfolio
rpmjp/projects/student-management-system/README.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%
README.md

AI-Powered Student Management System

A production-grade, full-stack academic platform with role-based portals, real-time analytics, and a machine learning model that predicts academic risk with 96% accuracy.

Built end-to-end across Java, Python, and SQL. The Java backend handles business logic and serves both server-rendered views and a JSON API. A separate Flask microservice handles ML inference, communicating with the Java backend over HTTP: a real microservice pattern, not just a buzzword.

At a glance

ML model accuracy96% (Random Forest, 500 training samples)
User roles3: admin, staff, student
Database tables5 normalized relational tables
REST API endpoints4 JSON endpoints
Java source files12
JSP view files11
Theme modes2 (dark + light, system-aware)
Responsive breakpoints3 (desktop, tablet, mobile)

Tech stack

LayerTechnology
BackendJava 21, Jakarta EE 6
Web serverApache Tomcat 10.1
DatabaseMySQL 8.0
ML runtimePython 3.12, scikit-learn
ML APIFlask
FrontendHTML5, CSS3, JavaScript, Chart.js
View engineJSP + JSTL
BuildApache Maven
GPUNVIDIA RTX 4090, CUDA 13.0 (for model training)

Where to go from here

  • screenshots.md: see the system in action across staff and student portals
  • architecture.md: layered MVC + microservice integration diagram
  • ml-deep-dive.md: why Random Forest, training data, results, feature importance
  • challenges.md: five real engineering problems and how I solved them
  • database-design.md: schema, normalization, design decisions
  • api-reference.md: REST endpoint reference
  • code/: selected source files: MLClient.java, AuthFilter.java, EnrollmentDAO.java, train_model.py
  • links/github-repo.url: full source on GitHub