A robust, Java-based desktop application designed to streamline the academic course enrollment process for universities and colleges. The system provides secure, role-based access for both Administrators and Students and is backed by a MySQL database for persistent data storage.
- Secure Authentication: Mandatory password update on first login to ensure data privacy.
- Dynamic Course Browsing: View currently available courses specifically tailored to your enrolled semester.
- Easy Enrollment: Simple interface to view available seats and register for classes.
- Registration Receipts: Export your finalized course schedule as a secure, uneditable PDF receipt.
- Dashboard: A personalized view displaying all currently enrolled courses.
- User Management: Automatically generate secure credentials (e.g.,
Name@RollNo) for new student accounts. - Curriculum Management: Add, update, or remove courses to ensure the curriculum stays current.
- System Settings: Easily oversee and manage the overall database.
- Frontend/UI: Java Swing (Desktop GUI)
- Backend/Logic: Java (JDK 8+)
- Database: MySQL
- Database Connector: JDBC (
mysql-connector-j-9.6.0.jar)
Before you begin, ensure you have the following installed:
- Java Development Kit (JDK): Version 8 or higher.
- MySQL Server: Running locally or remotely.
-
Clone or Download the Repository: Save the project locally on your machine.
-
Database Setup:
- Open your MySQL client (e.g., MySQL Workbench or Command Line).
- Execute the SQL script provided in the root folder (
setup.sql) to create the required schemas and tables. - Run the
SetupDB.javaandPopulateData.javafiles if you want to initialize the database with placeholder data.
-
Check Database Credentials: Ensure your database connection details (Username, Password, Port) match your local MySQL setup. These are usually located in the
util/DBConnection.javafile. -
Run the Application: Windows users can simply double-click the
run.batfile in the root directory.Alternatively, run these commands from the terminal:
# Compile all Java files javac -cp ".;lib/lib/mysql-connector-j-9.6.0.jar" model/*.java service/*.java ui/*.java util/*.java # Run the Login UI java -cp ".;lib/lib/mysql-connector-j-9.6.0.jar" ui.LoginUI
- Open the application (which starts on the
LoginUI). - Log in with an Administrator account to add new students and available courses.
- Once students are in the system, they can log in utilizing their auto-generated credentials, update their password, and begin registering for their semester courses.
- Export the finalized schedule via the built-in HTML-to-PDF receipt generator.