How itsaugustine04/smart-course-registration works
Smart Course Registration is a JavaFX university-management app. Users enter through login or signup, then role-specific dashboards support course enrollment and payment, faculty academic work, and administrator course and schedule management. Business services apply enrollment checks and coordinate persistence. The README documents grades, attendance, materials, and schedule-conflict detection; some of those implementations were not sampled, so their internal wiring is shown only where supported by the tree or excerpts.
Main entry points: dao Domain data access · StudentDashboardController.java Student dashboard · RegistrationService.java Enrollment and payment · CourseService.java Course services
Components 17
JavaFX interface
- Application startup
src/main/java/com/smartcourse/App.java - Scene navigation
src/main/java/com/smartcourse/util/SceneManager.java - Login screen
src/main/java/com/smartcourse/controller/LoginController.java - Signup screen
src/main/java/com/smartcourse/controller/SignupController.java - Student dashboard
src/main/java/com/smartcourse/controller/StudentDashboardController.java - Faculty dashboard
src/main/java/com/smartcourse/controller/FacultyDashboardController.java - Admin dashboard
src/main/java/com/smartcourse/controller/AdminDashboardController.java
Business services
- Authentication
src/main/java/com/smartcourse/service/AuthService.java - Course services
src/main/java/com/smartcourse/service/CourseService.java - Enrollment and payment
src/main/java/com/smartcourse/service/RegistrationService.java - Grades and attendance
src/main/java/com/smartcourse/service/AcademicService.java - Scheduling
src/main/java/com/smartcourse/service/ScheduleService.java - Course materials
src/main/java/com/smartcourse/service
Persistence
- User data access
src/main/java/com/smartcourse/dao/UserDAO.java - Domain data access
src/main/java/com/smartcourse/dao - SQLite database
src/main/java/com/smartcourse/dao/DatabaseManager.java
Other components
- User
Connections 28
- User → Application startup: launches
- Application startup → SQLite database: initializes
- Application startup → Login screen: loads login
- Login screen → Authentication: authenticates
- Signup screen → Authentication: registers account
- Login screen → Scene navigation: navigates
- Signup screen → Scene navigation: returns to login
- Authentication → User data access: reads and writes
- Student dashboard → Course services: browses courses
- Student dashboard → Enrollment and payment: requests enrollment
- Student dashboard → Grades and attendance: views records
- Student dashboard → Scheduling: views schedule
- Student dashboard → Course materials: views materials
- Enrollment and payment → Course services: checks eligibility
- Enrollment and payment → Domain data access: records enrollment and payment
- Enrollment and payment → Domain data access: updates seat and academic records
- Faculty dashboard → Grades and attendance: records grades and attendance
- Faculty dashboard → Scheduling: views schedule
- Faculty dashboard → Course materials: manages materials
- Admin dashboard → Course services: manages courses
- Admin dashboard → Scheduling: manages schedules
- Admin dashboard → Enrollment and payment: reviews enrollments
- Course services → Domain data access: reads and writes
- Grades and attendance → Domain data access: reads and writes
- Scheduling → Domain data access: reads and writes
- Course materials → Domain data access: persists materials
- User data access → SQLite database: queries
- Domain data access → SQLite database: queries