| title | Code Architecture Overview |
|---|---|
| description | Understanding the architecture and design principles of IDP-Core |
IDP Core is a Spring Boot app built following the principles of the Hexagonal Architecture.
- Spring Boot 4
- Spring Security
- Spring Data JPA & PostgreSQL
- Docker & Testcontainers library
- Flyway
-
Separation of concerns and folder structure.
-
Global strategy and error response formats.
-
DTO vs Entity validation rules.
-
Coding standards and style guide.
-
Checklist for architecture, DB, and security.
We strictly separate the Domain (Business Logic) from the Infrastructure (Technical concerns).
flowchart LR
A[Infrastructure - Input Ports] --> B[Domain - Core]
B --> C[Infrastructure - Output Ports]
subgraph A[Infrastructure - Input Ports]
A1[REST API]
A2[Controllers]
A3[DTOs]
end
subgraph B[Domain - Core]
B1[Entities]
B2[Services]
B3[Exceptions]
end
subgraph C[Infrastructure - Output Ports]
C1[Database]
C2[Repositories]
C3[External APIs]
end
- Dependency Rule: Infrastructure depends on Domain. Domain depends on nothing.
- Testing: Domain is unit-tested. Infrastructure is integration-tested in addition.