
Overview
Five bounded-context services for a citizen registry, connected by Kafka events with the Outbox pattern and a choreography Saga. Designed like an enterprise, deployed like an individual.
Role
Backend / systems architect
Stack
- Java 21
- Spring Boot 3
- Kafka
- Postgres
- Redis
- Keycloak
- Kubernetes
- OpenTelemetry
Highlights
- 01Bounded by business capability, not CRUD verbs — a service never touches another's tables
- 02Events are past-tense; Outbox pattern keeps DB and Kafka from drifting
- 03Choreography Saga for cross-service consistency
- 04Full observability: Prometheus + Grafana + Loki + OpenTelemetry
Outcomes
5
bounded servicesOutbox
+ Saga consistency