The Course Registration System is a full-stack web application that allows students to view available courses, register for courses, and view enrolled students. It is designed to demonstrate a simple, real-world application using a Spring Boot backend and a static HTML/JavaScript frontend.
The purpose of this application is to provide a platform for students to:
- Browse available courses
- Register for a course by providing their name and email
- View the list of students enrolled in each course
Administrators or instructors can also use the system to manage course offerings and track enrollments.
- Java 21
- Spring Boot 3 (Spring Web, Spring Data JPA)
- MySQL (as the database)
- Lombok (for reducing boilerplate code)
- Maven (for build and dependency management)
- HTML5
- CSS3
- JavaScript (ES6)
- RESTful API endpoints for:
- Listing available courses (
/courses) - Registering a student for a course (
/courses/register) - Listing enrolled students (
/courses/enrolled)
- Listing available courses (
- Uses Spring Data JPA for ORM and database access
- MySQL database integration
- CORS enabled for frontend communication
- Simple, user-friendly HTML pages:
- index.html: Main navigation page
- register.html: Course registration form
- availCourses.html: Displays available courses (fetched from backend)
- enrolled.html: Displays enrolled students (fetched from backend)
- JavaScript fetch API for dynamic data loading
- Responsive and clean UI with CSS
- RESTful API design
- MVC pattern (Spring Boot)
- Entity-Relationship mapping with JPA
- Asynchronous data fetching with JavaScript
- Separation of concerns between backend and frontend
- Java 21+
- Maven
- MySQL Server
- Clone the repository.
- Configure your MySQL database and update the credentials in
CourseRegistrationBackend/src/main/resources/application.properties. - Navigate to the backend folder:
cd CourseRegistrationBackend - Build and run the Spring Boot application:
mvnw spring-boot:run
- Open the
CourseRegistrationFrontendfolder. - Open
index.htmlin your browser (you may use a local server or open directly).
- Register for a course via the registration form.
- View available courses and enrolled students from the navigation page.