- Project Overview
- System Functionalities
- System Architecture
- System Requirements
- Installation & Setup
- Usage Guide
- Contributors
The Course Management System is a comprehensive application designed to facilitate course enrollment, student management, and reporting functionalities for educational institutions. It provides a secure and efficient way for students, faculty, and administrators to manage courses and registrations.
-
User Login and Security
- Role-based access control (RBAC) for students, faculty, and administrative staff.
- Secure authentication system to protect sensitive data.
-
Manage Courses (CRUD)
- Create, read, update, and delete course information.
- Faculty or admins can input and modify course details.
-
Manage Students (CRUD)
- Add, update, and delete student profiles.
-
Registration Interface
- Students can search, view, and register for courses.
- Real-time updates on course availability.
-
Modification of Enrollment
- Add or drop courses .
- Automatic updates for student and course records.
-
Reporting Tools
- Generate reports for administrators, including enrollment statistics.
The project follows a Layered Architecture, which enhances maintainability, scalability, and separation of concerns:
-
Presentation Layer (UI Layer)
- Developed using JavaFX for a user-friendly graphical interface.
-
Controller Layer
- Manages communication between the UI and business logic.
- Processes user actions and forwards them to the appropriate service methods.
-
Business Logic Layer (Service Layer)
- Contains core functionalities and logic for handling course enrollment, course records, and student records.
-
Data Access Layer (DAO Layer)
- Manages interactions with the database using JDBC.
- Implements CRUD operations for courses, students, and enrollments.
-
Database Layer
- Uses MySQL for storing student, course, and enrollment data.
- Operating System: Windows, macOS, or Linux
- Programming Language: Java (JavaFX for UI)
- Database: MySQL
- IDE: IntelliJ IDEA / VisualCode / NetBeans
- Dependencies:
- JavaFX
- JDBC Driver for Database Connectivity
git clone https://github.com/Navoda001/Course-Registration-System.git
cd Course-Registration-System- Import the provided SQL script into your database.
- Configure database credentials in the
scriptfile.
- Open the project in your preferred IDE.
- Ensure JavaFX and JDBC dependencies are installed.
- Run the main application file.
- Login: Enter your credentials to access the system.
- Course Management: Admins and faculty can add, update, and delete courses.
- Enrollment: Students can enroll in courses, provided prerequisites are met.
- Reports: Generate administrative reports for statistics.
- Navoda Chathurya - Project Lead & Developer