React 19 / SSR / resettable
Keep the architecture. Delete the demo.
Start with working SSR, enforceable layer boundaries, DI, typed data flow, and production checks. Study the reference app, then remove it cleanly.
SSR by defaultFile-based routesTyped data flowRequest-scoped DIScoped stylesCI-ready checks
Proof, not promises
One live request. Every boundary visible.
A JSONPlaceholder response crosses the HTTP client, repository, service, and Reatom view model before React sees it. Each boundary has one job.
- 01Pagecompose the use case
- 02Featureown the interaction
- 03View modelexpose async state
- 04Servicemap DTOs to domain
- 05Repositoryown the API contract
- 06HttpClienthandle transport
live API response
JSONPlaceholder
A second proof
Same rules. Different side effect.
Search, selection, and persistence follow the same ownership rules against local storage. The examples are disposable. The boundaries are not.
persisted selectionNo blocks selected yet.
The delivery contract
Prove it before review.
$ npm run check
$ npm run test:e2e- ESLint + Stylelint
- Vitest
- TypeScript
- SSR build
- Knip
- Playwright + Axe