A full-stack Spring Boot based Student Management System with robust features including authentication, authorization, exception handling, role-based access, pagination, and searching. Built following clean architecture and industry best practices.
- β
Role-based access control (
ADMIN
/USER
) using Spring Security - π Password encryption with BCryptPasswordEncoder
- π§ Global exception handling using
@ControllerAdvice
- π’ Clean and informative error responses for client-side integration
- π Field-level validation using Hibernate Validator
β οΈ Automatic handling of bad requests with descriptive messages
- π Entity relationships using
@OneToMany
,@ManyToOne
,@ManyToMany
- π Data integrity and join handling with JPA and custom queries
- π Data transfer handled with DTOs
- π Seamless model-to-DTO and DTO-to-model conversions via ModelMapper
- π Pageable API endpoints using Spring Data
- π Dynamic searching and filtering
- β‘ Optimized queries for performance with large data sets
- π§± Layered structure: Controller β Service β Repository
- π‘ Follows SOLID principles
- π» Java 21
- βοΈ Spring Boot
- ποΈ Spring Data JPA
- π‘οΈ Spring Security
- π¬ MySQL
- π§ͺ Hibernate Validator
- π ModelMapper
- π§₯ Lombok