Dashboard
Dashboard
Developer reference for the Next.js admin dashboard.
apps/dashboard is the admin panel, built on Next.js 16 (App Router), React 19.3.0, Tailwind v4, shadcn/ui (new-york), Convex 1.47.0 reactive queries, Better Auth sessions in localStorage. Deployed on Vercel (project project-r-dashboard, region sin1, root directory apps/dashboard).
Read in order
- Structure — routes, feature modules, shared UI.
- Data Layer — the Convex hook wrappers and reactivity rules.
- Auth & Access — sessions, role resolution, the permission matrix.
- Patterns — state layering, tables, forms, performance rules.
- Tech Debt — what's known-broken or pending.
The three rules people break first
- All data access goes through
src/hooks/convex/— never rawuseQueryin a feature. - Navigate user pages with
userId(the Better Auth ID), never the Convex_id. - Search inputs feeding Convex must use
useDebounce(~300 ms) —useDeferredValuedoes not prevent subscription churn; every arg change opens a new subscription.