Overview
What this challenge is about.
Design the settlement domain in pure Kotlin (no Spring imports, no framework annotations). Define ports for: payment-network adapter (one inbound per network — SEPA, Faster Payments, SWIFT), persistence (PostgreSQL), event bus (Kafka), and notification (SendGrid). Implement at least 2 adapters per port (e.g. SEPA + Faster Payments) to prove the design swaps cleanly. Write contract tests using Pact or a hand-rolled suite proving every adapter satisfies its port. Deliver source code, a 7-page architecture writeup, and a contract-test report.
The Brief
What you'll do, and what you'll demonstrate.
Implement a payments settlement microservice in Hexagonal Architecture so that payment-network adapters are swappable and the domain logic is framework-free.
Earning criteria — what you'll demonstrate
- Implement Hexagonal Architecture in a real microservice with framework constraints
- Define port contracts that survive adapter substitution
- Apply contract testing to prove adapter swappability
- Keep domain logic free of framework leakage in a Spring-Boot codebase
Program Fit
Where this fits in your program.
Sharpens the same skills your degree expects you to demonstrate.
Skills
Skills you'll demonstrate.
Each one shows up on your verified credential.
Careers
Roles this prepares you for.
Real titles. Real skill bridges. Pick the one closest to your trajectory.
Career mappings coming soon.