Art Gallery is a Spring Boot application for managing an art collection. It supports full CRUD functionality, secure user authentication, and role-based access control.
- JWT-based authentication and authorization
- User registration and login
- Role-based access (ADMIN / USER)
- CRUD operations for entities like artpieces and artists
- RESTful API with SwaggerUI documentation
- Validation and error handling
- Unit and integration testing
- Data bootstrapping via CSV
- Profile support for development (H2) and production (PostgreSQL)
- Java 17
- Spring Boot
- Spring Security + JWT
- Spring Data JPA
- PostgreSQL / H2
- MapStruct (for DTO mapping)
- JUnit & Mockito (for testing)
- Swagger / OpenAPI
- Java 17
- Maven
- PostgreSQL (for production profile)