C++20 • Boost.Asio coroutines • Boost.Beast HTTP • PostgreSQL

AdequateAPI

Coroutine-first backend framework focused on deterministic execution, explicit async, and production-grade behavior. No hidden thread pools. No runtime magic.

Explicit execution model

IO stays on the event loop. CPU work is explicitly offloaded. You control where code runs.

Coroutine-first, not callback-first

Handlers are awaitable. No callback pyramids. Composition stays readable under load.

PostgreSQL async integration

Pool + awaitable execution. Transaction scope owned by Services (not “magic inside repos”).

Swagger / OpenAPI generation

Spec is generated from routes + schema registry and served as static files in /public/openapi.

Redis: planned Docker-first DI container E2E stack (compose)

Quickstart

Goal: run locally via Docker and hit the health endpoint.

https://github.com/Emilianissimo/adequate-api-cpp.git
cd <repo>
make build
make start
curl http://localhost:8080/health

Expected:

{"status":"ok"}
Notes (important)
  • Async does not make a single request faster — it makes waiting cheaper and improves throughput under load.
  • Never block the IO executor. CPU-heavy work must be explicitly offloaded.
  • Redis is not part of the stack yet (planned).

Docs (short, to the point)

These are the core pages you actually need.


If you want a multi-page docs site later, you can keep these sections as-is and split them into separate pages.