A clean, modular, and test-driven backend for an online store built with Spring Boot, PostgreSQL, and JPA.
This project is designed for scalability, maintainability, and future integration with frontend frameworks.
- ✅ Modular architecture with layered structure (
controller,service,repository,dto,entity) - 🧪 Unit tests with JUnit 5 & Mockito
- 🧼 Clean code principles using Lombok, validation annotations, and DTO separation
- 🛠️ RESTful API for managing products and orders
- 🐘 PostgreSQL as the default relational database
- 📦 Dockerized for easy deployment and local setup
- 🔐 Input validation via
jakarta.validation - 🧾 Swagger / OpenAPI documentation support via springdoc-openapi
- Java 17+
- Spring Boot 3.5.x
- JPA / Hibernate
- PostgreSQL
- Docker / Docker Compose
- JUnit 5 + Mockito
- Lombok
- SpringDoc (OpenAPI v3)
./mvnw test# Run PostgreSQL (update docker-compose.yml if needed)
docker-compose up -dSwagger UI is available at: /api/docs Open API is available at: /api/openapi
Contributions are welcome! Please fork the repo and submit a pull request.