A Java-based application for managing student course enrollments with MySQL database integration.
- Register/Login
- View available courses
- Enroll/Drop courses
- View personal schedule
- View assigned courses
- Check course roster
- Add/Manage courses
- Manage instructors
- Generate reports
- Backend: Java (JDBC for database connectivity)
- Database: MySQL
- Architecture: MVC Pattern
- Key Concepts: OOP, Exception Handling, Collections, CRUD Operations
5 Tables:
- students, instructors, admins (user accounts)
- courses (course details)
- enrollments (student-course mappings)
-
Prerequisites:
- Java JDK 8+
- MySQL Server
- MySQL Connector/J
-
Database Setup: bash mysql -u root -p < db/registration.sql
-
Configuration: Update database credentials in src/dao/DBConnection.java
-
Run Application: bash cd src/main javac Main.java java Main
src/
├── model/
│ ├── Admin.java
│ ├── Course.java
│ ├── Enrollment.java
│ ├── Instructor.java
│ └── Student.java
├── dao/
│ ├── AdminDAO.java
│ ├── CourseDAO.java
│ ├── DBConnection.java
│ ├── EnrollmentDAO.java
│ ├── InstructorDAO.java
│ └── StudentDAO.java
├── service/
│ ├── AdminService.java
│ ├── InstructorService.java
│ └── StudentService.java
├── ui/
│ └── MainUI.java
└── main/
└── Main.java
- Login as admin (username: admin1, password: admin123)
- Add new courses
- Login as student to enroll