A Java project as template and pedagogical support for the teaching of Clean Architecture crafting practice.
CRUD operations on Customer entities exposed by a REST API.
- Web request validation with Swagger request validator
- Web security based on Basic Authentication
- Exception handling with Zalando problem handling
- Application management with Spring Actuator
- Acceptance testing with Cucumber
- Contract testing with Pact and Spring Cloud Contract
- Architecture testing with ArchUnit
- Build the project with
./gradlew clean build
. - Start the containerized database with
docker-compose up
. - Launch the application locally with
./gradlew bootRun --args='--spring.profiles.active=test,jpa,postgres'
. - Play use cases with Postman using this default collection or with Swagger UI.