A Java Swing-based Course Scheduler application that allows academic administrators and students to manage course enrollment for different semesters. This project simulates a university registration system with functionalities to add semesters, register/drop students and classes, and handle class waitlists.
- Language: Java
- UI Framework: Java Swing (via NetBeans GUI Builder)
- Database: Apache Derby (Java DB)
- IDE: Apache NetBeans IDE 14
- Add a new semester
- Add courses to the catalog
- Add students to the system
- Add new class instances under a course
- View the complete class list
- Drop students from a course
- Drop an entire class from a semester
- Register for classes in the selected semester
- View enrolled and waitlisted classes
- Unenroll from classes
- Automatic enrollment from waitlist upon seat availability
- Set or change the current semester
- Load semester-specific data
- Maintain separation of schedule and records per semester
Students– stores student IDs and namesCourses– stores course codes, names, and credit hoursClasses– section-specific data such as max capacity and instructorEnrollments– tracks active enrollments and waitlist positionsSemesters– records of each semester added
All database interactions are managed through the DAO-like query classes (
*Queries.java).
-
Clone the Repository
git clone https://github.com/yourusername/CourseSchedulerAaryaABS.git
-
Open in NetBeans
- Open the
.zipor project folder in NetBeans IDE. - Ensure Derby DB is installed and configured in your environment.
- Open the
-
Run the MainFrame
- Right-click
MainFrame.javaand selectRun File. - Use the GUI to add semesters, classes, and interact as admin or student.
- Right-click
- Mastery over Java Swing UI components
- Hands-on with SQL operations using embedded Derby DB
- Understanding MVC-like structure using DAO pattern
- Real-world simulation of academic course scheduling
- Managing state across UI, database, and custom logic layers
- Add authentication for admin and student roles
- Support CSV imports for bulk student/course registration
- Integrate persistent settings storage
- Enhance UI with modern look (e.g., JavaFX or external themes)
Aarya Soni
Java Developer | Undergraduate Student | Course Scheduling Enthusiast
This project is for educational purposes. All rights reserved © Aarya Soni.