REST API
Validates create-order requests and returns a stable response contract.
Portfolio backend project
A focused Spring Boot service that persists orders, publishes Kafka events, consumes them idempotently, and exposes generated API and coverage documentation through GitHub Pages.
The service exposes one business workflow: validate and persist an order, publish an OrderCreatedEvent, consume it, and atomically claim its event ID. The project stays deliberately focused on this reliability path.
Validates create-order requests and returns a stable response contract.
Stores orders and the consumer idempotency table managed by Flyway.
Publishes and consumes order.created.v1 events with DLT recovery.
The main delivery path and its persistence, idempotency, and failure branches are shown separately to reflect the implementation.
order.created.v1processed_eventsorder.created.v1.dltPostgreSQL atomically inserts each eventId. A conflict means the delivery is already complete and becomes a successful no-op.
Listener failures propagate to Spring Kafka retry and then to order.created.v1.dlt after attempts are exhausted.
Maven verification runs behavior tests, exports OpenAPI, generates JaCoCo, and assembles the Pages artifact.
GitHub Pages publishes only Maven-generated output from target/pages.
docs/user-guide.md during Maven verification.
API documentationStatic OpenAPI HTML generated from the exported spec.
OpenAPI JSONRaw specification published with the generated documentation.
JaCoCo reportCoverage report generated at target/site/jacoco/index.html.
READMEProject entry point, architecture, and design trade-offs.
RepositorySource code and GitHub Actions workflow.
Run ./mvnw clean verify, validate generated artifacts and Compose, and build the Docker image.
Uploads target/pages with the official GitHub Pages actions and deploys it.
Build output, generated sources, reports, local logs, and Docker temporary files stay untracked.
Kafka publication, idempotent consumption, retry handling, DLT routing, and PostgreSQL persistence are the core design surface.
OpenAPI documentation, Docker-based local development, CI checks, and JaCoCo reports are produced by the build.
Transactional outbox, schema registry, distributed tracing, Kubernetes, saga orchestration, and additional microservices are out of scope.