6.2 KiB
Roadmap: ClientHub
Overview
ClientHub si costruisce dall'esterno verso l'interno: prima la dashboard che un cliente reale può aprire su mobile, poi l'area admin per creare e gestire i dati, poi il catalogo servizi e il preventivo interno. Il flusso Claude AI è v2 e dipende da CRUD stabile e catalogo completo. Ogni fase consegna una capacità end-to-end verificabile.
Phases
Phase Numbering:
- Integer phases (1, 2, 3): Planned milestone work
- Decimal phases (2.1, 2.2): Urgent insertions (marked with INSERTED)
Decimal phases appear between their surrounding integers in numeric order.
- Phase 1: Foundation & Client Dashboard - DB schema, token API, dashboard read-only per il cliente con link segreto condivisibile
- Phase 2: Admin Area & Interactive Features - Auth admin, CRUD completo clienti/fasi/task/deliverable/pagamenti, approvazioni e commenti
- Phase 3: Service Catalog & Quote Builder - Catalogo servizi riutilizzabile e costruttore preventivi (admin-only, cliente vede solo il totale)
- Phase 4: Claude AI Onboarding (v2) - Flusso guidato step-by-step per onboarding cliente e generazione assistita del piano/preventivo
Phase Details
Phase 1: Foundation & Client Dashboard
Goal: Un cliente reale può aprire il suo link segreto su mobile o desktop e vedere lo stato del suo progetto, senza login Mode: mvp Depends on: Nothing (first phase) Requirements: DASH-01, DASH-02, DASH-03, DASH-04, DASH-07, DASH-08, DASH-09, DASH-10 Success Criteria (what must be TRUE):
- Aprendo
/c/[token]su mobile, il cliente vede nome cliente, brand, brief e fase corrente senza alcun login - Le fasi del progetto sono visibili con i task annidati e il loro stato (da fare / in corso / fatto)
- Il cliente vede il totale preventivo accettato e lo stato dei due pagamenti (acconto 50% e saldo 50%), mai i prezzi singoli
- I link a documenti esterni (Google Drive, PDF) sono cliccabili dalla dashboard
- Il log decisioni/note è visibile nella dashboard del cliente Plans: 5 plans Plan list:
- 01-01-PLAN.md — Walking Skeleton: Next.js bootstrap + DB connection
- 01-02-PLAN.md — Database schema (11 tables) + Drizzle + drizzle-kit push
- 01-03-PLAN.md — Middleware token validation + ClientView type + data fetching
- 01-04-PLAN.md — Client dashboard UI (header, progress, phases, payments, documents, notes)
- 01-05-PLAN.md — Seed script + DNS CNAME configuration UI hint: yes Status: ✅ Complete (Phase 1 execution required)
Phase 2: Admin Area & Interactive Features
Goal: L'admin può creare e gestire clienti, fasi, task, deliverable e pagamenti; il cliente può commentare e approvare i deliverable Mode: mvp Depends on: Phase 1 Requirements: ADMIN-01, ADMIN-02, DASH-05, DASH-06 Success Criteria (what must be TRUE):
- L'admin accede a
/admincon credenziale sicura e vede la lista di tutti i clienti con stato sintetico e badge pagamenti - L'admin può creare un nuovo cliente (con generazione automatica del link segreto), aggiungere fasi, task, documenti e aggiornare lo stato dei pagamenti
- Il cliente può approvare un deliverable dalla sua dashboard; l'approvazione persiste con timestamp immutabile e l'admin la vede
- Il cliente può lasciare un commento su un task o deliverable e l'admin vede i commenti nella workspace admin Plans: 4 plans Plan list:
- 02-01-PLAN.md — Auth.js v4 setup + middleware admin guard (/admin/* session check)
- 02-02-PLAN.md — Admin client list (/admin) + create client form + two payment stubs
- 02-03-PLAN.md — Admin client workspace: tabs for phases/tasks, payments, documents, comments
- 02-04-PLAN.md — Client interactions: deliverable approval + inline comments API + dashboard wiring UI hint: yes Status: Planned — ready for execution
Phase 3: Service Catalog & Quote Builder
Goal: L'admin può costruire un catalogo servizi riutilizzabile e comporre preventivi da esso; il cliente vede solo il totale accettato Mode: mvp Depends on: Phase 2 Requirements: CAT-01, CAT-02, ADMIN-03 Success Criteria (what must be TRUE):
- L'admin può aggiungere, modificare e disattivare voci nel catalogo servizi (nome, descrizione, prezzo unitario)
- L'admin può comporre un preventivo per un cliente selezionando voci dal catalogo; il sistema calcola il totale
- Dopo la finalizzazione del preventivo,
accepted_totalè scritto sulla riga cliente e la dashboard del cliente mostra il totale corretto; iquote_itemsnon sono mai esposti al cliente Plans: 4 plans Plan list:
- 03-01-PLAN.md — Schema changes (service_id nullable, custom_label) + drizzle-kit push [BLOCKING]
- 03-02-PLAN.md — Service Catalog: /admin/catalog page + CRUD actions + ServiceTable + NavBar link
- 03-03-PLAN.md — Quote Builder: QuoteTab + quote-actions + client detail page wiring
- 03-04-PLAN.md — E2E verification: catalog CRUD, quote round-trip, accepted_total, security check UI hint: yes Status: Planned — ready for execution
Phase 4: Claude AI Onboarding (v2)
Goal: L'admin può usare un flusso chat guidato per onboardare un nuovo cliente e generare un piano a fasi e un preventivo assistito da Claude Mode: mvp Depends on: Phase 3 Requirements: CLAUDE-01, CLAUDE-02, CLAUDE-03 Success Criteria (what must be TRUE):
- L'admin avvia il flusso Claude inserendo il brief del cliente; Claude guida step-by-step la raccolta delle informazioni necessarie
- Al termine del flusso, Claude propone un piano strutturato per fasi che l'admin può accettare o modificare prima di salvarlo
- Claude suggerisce un preventivo basato sul catalogo servizi; l'admin approva o modifica le voci prima della finalizzazione Plans: TBD UI hint: yes Status: Pending planning (v2 — may defer indefinitely)
Progress
Execution Order: Phases execute in numeric order: 1 → 2 → 3 → 4
| Phase | Plans | Status | Completed |
|---|---|---|---|
| 1. Foundation & Client Dashboard | 5/5 | ✅ Done | 2026-05-14 |
| 2. Admin Area & Interactive Features | 4/4 | Planned | - |
| 3. Service Catalog & Quote Builder | 4/4 | Planned | - |
| 4. Claude AI Onboarding (v2) | 0/TBD | Pending | - |