University Course Registration System is a full-stack web application built with Spring Boot + JavaScript that simulates a real-world university management system.
- real business logic
- relational database modeling
- layered backend architecture
- full REST API integration
- frontend + backend communication
Students can register for courses, teachers manage courses, and the system handles complex relationships between entities.
👨🎓 Students
Create student
Update student
Delete student
Search by email
Search by name + surname
View registered courses
👨🏫 Teachers
Create teacher
Update teacher
Delete teacher
Filter by department
View teacher’s courses
📚 Courses
Create course
Update course
Delete course
Assign teacher
Search by name
Filter by department
View enrolled students
📝 Registration System
Register student to course
Prevent duplicate registration
List student's courses
List course's students
Remove student from course
Unassign teacher from course
This project follows Layered Architecture:
Controller → Service → Repository → Database
src/main/java/com/example/universitycourseregistration
controller
service
service/imp
repository
entity
dto
exception
src/main/resources
static (frontend files)
- Backend
- Java 17+
- Spring Boot
- Spring Web (REST API)
- Spring Data JPA
- Hibernate
- PostgreSQL / H2
- Lombok
- Frontend
- HTML
- CSS
- JavaScript (Fetch API)
- Tools
- IntelliJ IDEA
- Postman
- GitHub
Entities
- Student
id
name
surname
email
- Teacher
id
name
surname
department
- Course
id
courseName
description
credits
teacher (Many-to-One)
- Registration
registrationId
student (Many-to-One)
course (Many-to-One)
- Clone
git clone https://github.com/Kanan-peoiks/University_Course_Registration.git
-
Open in İntelliJ
-
Configure database
Edit:
application.properties
Example:
spring.datasource.url=jdbc:postgresql://localhost:5432/YOURPROJECT
spring.datasource.username=YOUR_USURNAME
spring.datasource.password=YOUR_PASSWORD
spring.jpa.hibernate.ddl-auto=update
- Run
UniversityCourseRegistrationApp
- Open browser
http://localhost:8080
Through this project I practiced:
- REST API design
- Layered architecture
- DTO mapping
- JPA relationships
- Business logic implementation
- Full-stack integration
- Clean code structure
- Authentication (JWT)
- Role system (Admin/Student/Teacher)
- Pagination
- Docker
- React frontend
- Deployment (AWS/Render)
Kanan
GitHub: