Tech-Stack

Baustein Wahl Version Begründung
Sprache Java 17 LTS, Baseline für Spring Boot 3.x, Records/Pattern-Matching für schlanke Value Objects
Build Maven (Multi-Modul-Reactor) 3.9.x Konvention aller Labs in diesem Repository
Framework Spring Boot 3.3.4 Jakarta-Namespace ab Spring Boot 3, aktueller Stand
Persistenz Spring Data JPA + PostgreSQL Postgres 16 Datenbank pro Service, siehe ADR-0003
Migrationen Flyway 10.17.3 versionierte, nachvollziehbare Schemaänderungen
Messaging Spring Kafka (Spring Boot BOM) Integrationsevents zwischen Services
Validierung Jakarta Bean Validation (Spring Boot BOM) deklarative Eingabevalidierung in api-DTOs
API-Doku springdoc-openapi 2.6.0 OpenAPI/Swagger UI pro Service
DTO-Mapping MapStruct 1.6.0 generierte, typsichere Mapper statt manueller Boilerplate
Unit-/Integrationstests JUnit 5, AssertJ, Mockito (Spring Boot BOM) siehe Teststrategie
Integrationstest-Infrastruktur Testcontainers 1.20.1 siehe ADR-0006
Architektur-Fitness-Functions ArchUnit 1.3.0 siehe ADR-0002
Resilience (ab Phase 4) Resilience4j 2.2.0 Retry für Saga-Schritte in payments-service
Security Spring Security OAuth2 Resource Server + Keycloak 25.0 (Keycloak) siehe ADR-0007; vollstaendig verdrahtet nur in customer-service
Lokale Infrastruktur Docker Compose PostgreSQL, Kafka (KRaft), siehe ADR-0004
Dokumentation Markdown → HTML (eigenes Node-Skript) siehe documentation/tools/

Bewusst nicht enthalten (siehe ADR-0004): Kubernetes/Helm, Prometheus/Grafana, k6, Jenkins, Spring Cloud Gateway/Config/Discovery, Frontend-Framework.

⌂ Cockpit