LedgerLite

A transactional finance API with the boring parts done right.

← Back to Work
Accounts & transactions · illustrative composition

Problem

Financial APIs fail in the details: race conditions on balances, weak authorization boundaries, migrations that break rollback.

What I built

An accounts/transactions REST API with validation, pagination and filtering, real database transactions, OpenAPI documentation, and schema migrations. Spring Security scopes authorization to each user’s own data. Integration tests run against real Postgres via Testcontainers, and the whole environment runs reproducibly in Docker.

Why it matters

The correctness work keeps a finance API trustworthy: real transactions, hard authorization boundaries, and integration tests that hit a live Postgres.

Result

A documented, authorization-scoped API backed by transactional integrity, with integration tests that exercise real database behavior via Testcontainers.

Stack

  • Java
  • Spring Boot
  • PostgreSQL
  • JUnit
  • Testcontainers
  • Docker