Overview of the Hexagonal Architecture Demo Project
mainThis project is a production-ready sample implementation of Hexagonal Architecture (also known as the Ports and Adapters pattern) using Java. It is designed to demonstrate how to write clean, maintainable, and well-defined boundary contexts by isolating business logic from technical concerns and external integration points.
Key learning objectives include:
- Designing APIs using hexagonal architecture.
- Implementing microservices with Spring Boot.
- Using Ports and Adapters to separate business logic from integration points.
- Implementing various testing styles: Unit tests (domain-focused), Integration tests (infra-focused), Consumer-driven contract tests, and Acceptance tests.
- Managing multiple microservices in a single Git repository using a Mono-repo structure with Gradle.