| 0001 |
Use Modular Monolith |
Accepted |
Keep one deployable application while preserving clear module ownership and testable boundaries. |
| 0002 |
Use Spring Events for Internal Communication |
Accepted |
Use in-process events for module communication instead of introducing a broker before operational complexity is justified. |
| 0003 |
Use CQRS Light |
Accepted |
Separate catalog reads and writes pragmatically without adding a second database or distributed read model. |
| 0004 |
Use Flyway and PostgreSQL |
Accepted |
Let Flyway own schema evolution and run Hibernate with validation rather than schema generation. |
| 0005 |
Use Generated OpenAPI and MapStruct |
Accepted |
Generate API reference and boundary mappers to keep documentation and DTO mapping explicit and repeatable. |
| 0006 |
Use Idempotency Keys for Order Placement |
Accepted |
Make HTTP retries safe for order placement without introducing distributed infrastructure. |