Adopt TanStack as the frontend data/forms/tables layer #43
Labels
No labels
area:auth
area:ci
area:db
area:infra
area:native
area:pwa
area:service
epic
feature
foundation
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
james/carol#43
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Pick a single, consistent set of primitives for client-side server state, form handling, and tabular data in the PWA before the feature tickets in epics #4 and #5 start landing. Picking late means every feature ticket has to make this call locally and the codebase ends up with three patterns for the same problem.
"UI system" here means the data/forms/tables layer, not the component/styling library. TanStack is headless — it pairs with whatever component library we settle on for visual primitives; this ticket doesn't pre-empt that decision.
Scope
Out of scope (call out in the ADR so it's not relitigated)
ADR requirements
The ADR must compare TanStack against the realistic alternatives on each axis we actually care about:
For each axis: name the option, list the realistic pros/cons in our context (multi-user self-hosted Next.js app with strict per-user data isolation, both SQLite and Postgres backends), and pick one with the reason stated. Follow the established ADR format from
docs/adr/0001-record-architecture-decisions.md.Acceptance criteria
docs/adr/README.md.Part of epic #3. Depends on #18 (PWA configuration). Should land before #21 (Profile) so the feature tickets in epics #4 and #5 can build on the reference pattern.