Node (generic)
The framework-agnostic reference for a bootstrap endpoint — no assumption about your database or ORM. Covers the response contract itself, plus the one genuinely framework-specific piece: Next.js dynamic route chunk warming via assets[].
- Any Node HTTP layer — Express, Fastify, Koa, or bare http
- For Postgres- or MongoDB-specific query patterns, see bootstrap/postgres or bootstrap/mongodb instead — this page stays data-layer-agnostic
- Familiarity with api/bootstrap on the client side
The contract, independent of everything else
A minimal route, data layer abstracted away
getServices() / getTeam() for whatever actually fetches your data — raw SQL, an ORM, a call to another internal service. The bootstrap contract doesn't care.Works the same across Node frameworks
http server are entirely in request/response plumbing — none of it touches the contract itself.assets[] — the one framework-specific piece
.next/app-build-manifest.json, cached at module load.This is what the demo app and Section 17's final definition of Flux call out specifically: dynamic route offline coverage isn't just cached data — it's cached data and the compiled route chunk to render it with, both warmed by the same single bootstrap call. See the extended explanation below.
Extending to a 'user'-scope endpoint
Status codes and how the client reacts
Per Section 4.13, any failure mode other than a 5xx simply falls back to serving existing IDB data — there's no scenario where a failed bootstrap call should clear or roll back what's already cached client-side.
For Postgres query patterns, see bootstrap/postgres. For MongoDB, see bootstrap/mongodb. For any non-Node backend language, see bootstrap/rest. For the client-side call this endpoint answers, see api/bootstrap.