A Java-based desktop application designed to help manage Student, Teacher, and academic information efficiently within a university environment.
_ User Authentication (Admin, Teacher, Student)
_ Role-based access and permissions
_ Using SHA-256 to hash the Password
_ OTP Email Verification (JavaMail) in Login Form
1. Admin
_ A dashboard has charts (Bar chart & Pie chart) and labels to statistics for all Teachers and students in the University
_ Student and Teacher Management
_ Course and Subject management
_ Send and receive notifications/messages to All Teachers and Students
2. Teacher
_ The teacher has the schedule that the students have registered for the course
_ The teacher can grade all the students in the course
_ Student Grade Management (GPA calculation and classification)
_ Export the student's grade to an Excel file
_ Send/receive messages from the Admin
3. Student
_ Student can register and grade results for the Course with the teacher in charge of that class
_ Export the student's GPA to PDF
_ Send/receive messages from the Admin
_ Java 22
_ JavaFX (UI Framework)
_ Hibernate (ORM for database interaction)
_ Maven (Build tool)
_ MySQL (Database)
_ JavaMail API
_ Apache POI (For exporting to Excel)
_ iText7 (For exporting to PDF)
_ Socket programming


- controller/: Handles interaction between the UI (JavaFX) and business logic.
- dao/: Provides CRUD operations with the database using Hibernate.
- main/: Entry point of the application (
Main.java
). - model/: Represents the system's data models (e.g., Student, Class, Grade).
- util/: Contains reusable helper methods and database config utilities.
resources/
:*.fxml
: UI layout files for JavaFX*.css
: Custom styles- Image and configuration assets
src/test/java/
: Includes unit tests to validate the correctness of DAO and utility logic.
pom.xml
: Defines project dependencies, plugins, and build lifecycle using Maven.- JRE System Library [JavaSE-1.8] & Maven Dependencies: Provides Java standard libraries and external libraries like JavaFX, Hibernate, JavaMail, etc.



















- Name: Cát Minh Khoa
- Student ID: 24IT117
- Class: 24GIT1
- University: VKU
- Academic Year: 2024–2025
- Course: Java OOP Project — Final Project for Year 1