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 accuracy | 96% (Random Forest, 500 training samples) |
| User roles | 3: admin, staff, student |
| Database tables | 5 normalized relational tables |
| REST API endpoints | 4 JSON endpoints |
| Java source files | 12 |
| JSP view files | 11 |
| Theme modes | 2 (dark + light, system-aware) |
| Responsive breakpoints | 3 (desktop, tablet, mobile) |
Tech stack
| Layer | Technology |
|---|---|
| Backend | Java 21, Jakarta EE 6 |
| Web server | Apache Tomcat 10.1 |
| Database | MySQL 8.0 |
| ML runtime | Python 3.12, scikit-learn |
| ML API | Flask |
| Frontend | HTML5, CSS3, JavaScript, Chart.js |
| View engine | JSP + JSTL |
| Build | Apache Maven |
| GPU | NVIDIA RTX 4090, CUDA 13.0 (for model training) |
Where to go from here
screenshots.md: see the system in action across staff and student portalsarchitecture.md: layered MVC + microservice integration diagramml-deep-dive.md: why Random Forest, training data, results, feature importancechallenges.md: five real engineering problems and how I solved themdatabase-design.md: schema, normalization, design decisionsapi-reference.md: REST endpoint referencecode/: selected source files: MLClient.java, AuthFilter.java, EnrollmentDAO.java, train_model.pylinks/github-repo.url: full source on GitHub