E4.1 → FE-portbuilderhub
The system of record for Singapore interior designers. The web shell builds, renders, authenticates, resolves firm context, onboards firms via the operator console, and now serves a Kanban task board and Gantt (the intern's FE, ported onto real, RLS-backed data). Dependencies, cascade, and critical path land next (E6.2–E6.4).
Wired up
- Next.js 16 (App Router, Turbopack)
- Tailwind CSS v4
- shadcn/ui (base-nova)
- @builderhub/db typed client
- Supabase Auth — sign-in/out, sessions, route protection (E4.2)
- Firm context — auth.uid() → Member → firm, RLS-scoped queries (E4.3)
- Operator onboarding console — /admin, invite-first firm creation (E4.4)
- Task & milestone CRUD — @builderhub/shared contract + RLS-scoped actions (E6.1)
- App shell + Kanban task board + Gantt — intern FE ported onto real, RLS-backed data
Coming in later tickets
- Task dependencies + cycle safety (E6.2)
- Reschedule cascade (E6.3) & critical path (E6.4)
- Calendar & designer views (deferred — partly M4)
Tasking preview (placeholder)
Mock rows, typed by @builderhub/db Task. The live board + Gantt live under /app — these rows are just a typing demo.
- task-1Hack wall tiles — master bath
- task-2Carpentry: wardrobe installation
- task-3Electrical: second fix