Parallel backends in Spring Boot and Express that expose the same REST surface: CRUD, validation, JWT auth, pagination, rate limiting, background jobs, OpenAPI, k6 load tests—Dockerized with Postgres/Redis and basic observability.
Build the same HTTP API twice—once in Spring Boot (Java) and once in Express (Node)—to compare ergonomics, performance, testing strategies, and deployment. Both backends share Postgres and Redis and are exercised with identical curl, k6, and integration tests.
/health
, /todos
, /bookmarks
[Architecture Diagram Placeholder]
Java & Node services → NGINX → Postgres + Redis
GET /health
– service + DB + cache statusGET /todos?limit=&offset=
– paginationPOST /todos
, PATCH /todos/:id
, DELETE /todos/:id
/bookmarks
– filtering, sorting, search/auth/login
, /auth/refresh
# Create curl -X POST localhost:4000/todos \ -H 'content-type: application/json' \ -d '{"title":"learn http","done":false}'
/metrics
)Docker Compose for local dev (Postgres + Redis + both services). CI builds and runs tests; images can be pushed to a registry and deployed behind NGINX as an API gateway.