5bf5dfce71
- Rename src/app/c/[token] → src/app/client/[token] - Update proxy.ts, ClientRow, admin client detail with /client/ path - Add output: "standalone" to next.config.ts for Docker build - Add Dockerfile (multi-stage, node:20-alpine) and .dockerignore - Push schema to Coolify Postgres via SSH tunnel (drizzle-kit push ✓) - Update CLAUDE.md constraint 4 to reflect /client/ route - Add Phase 4 planning artifacts (04-00, 04-RESEARCH, 04-PATTERNS) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
84 lines
3.8 KiB
Markdown
84 lines
3.8 KiB
Markdown
# Requirements — ClientHub
|
|
|
|
## Dashboard Cliente (v1)
|
|
|
|
| ID | Requirement | Status |
|
|
|----|-------------|--------|
|
|
| DASH-01 | Ogni cliente ha un URL segreto univoco (nessun login richiesto) | Pending |
|
|
| DASH-02 | La dashboard mostra nome cliente, nome brand, brief del progetto e stato attuale | Pending |
|
|
| DASH-03 | Il piano è strutturato per fasi con milestone e task all'interno di ogni fase | Pending |
|
|
| DASH-04 | I task hanno stato visibile (da fare / in corso / fatto) | Pending |
|
|
| DASH-05 | Il cliente può approvare i deliverable dalla sua area | Pending |
|
|
| DASH-06 | Il cliente può lasciare commenti su task e deliverable | Pending |
|
|
| DASH-07 | Il cliente vede solo il totale del preventivo accettato (non i prezzi dei singoli servizi) | Pending |
|
|
| DASH-08 | Il cliente vede lo stato dei pagamenti: acconto 50% (da saldare / inviata / saldato) e saldo 50% (da saldare / inviata / saldato) | Pending |
|
|
| DASH-09 | Link a documenti e file (Google Drive, PDF, deliverable) | Pending |
|
|
| DASH-10 | Storico note e decisioni prese nel tempo | Pending |
|
|
|
|
## Area Amministratore (v1)
|
|
|
|
| ID | Requirement | Status |
|
|
|----|-------------|--------|
|
|
| ADMIN-01 | Vista di tutti i clienti con stato sintetico | Pending |
|
|
| ADMIN-02 | Gestione completa di ogni cliente: fasi, task, documenti, pagamenti | Pending |
|
|
| ADMIN-03 | Preventivo completo con dettaglio servizi (non visibile al cliente) | Pending |
|
|
|
|
## Catalogo Servizi (v1)
|
|
|
|
| ID | Requirement | Status |
|
|
|----|-------------|--------|
|
|
| CAT-01 | File/database dei servizi con prezzi e cosa è incluso | Pending |
|
|
| CAT-02 | Usato come base per la generazione assistita dei preventivi | Pending |
|
|
|
|
## Progetti Multi-Project (Phase 4)
|
|
|
|
| ID | Requirement | Status |
|
|
|----|-------------|--------|
|
|
| PROJ-01 | Ogni cliente può avere N progetti; ogni progetto ha workspace indipendente (fasi, pagamenti, preventivo, timer) | Pending |
|
|
| PROJ-02 | La dashboard cliente mostra tabs per 2+ progetti; con 1 progetto mostra direttamente il workspace senza selettore | Pending |
|
|
| PROJ-03 | La pagina /admin/projects elenca tutti i progetti con €/h reale e timer; /admin/projects/[id] è il workspace progetto | Pending |
|
|
| PROJ-04 | Il link cliente supporta slug personalizzabile (/c/mario-rossi) con fallback al token esistente | Pending |
|
|
| PROJ-05 | Analytics profittabilità per progetto: ore lavorate, accepted_total, €/h reale vs target_hourly_rate globale | Pending |
|
|
|
|
## Flusso Claude (v2 — deferred to Phase 5)
|
|
|
|
| ID | Requirement | Status |
|
|
|----|-------------|--------|
|
|
| CLAUDE-01 | Onboarding guidato step-by-step via chat per aggiungere un nuovo cliente | Deferred |
|
|
| CLAUDE-02 | Generazione del piano a fasi basato sul brief | Deferred |
|
|
| CLAUDE-03 | Generazione preventivo assistita (Claude suggerisce, tu approvi prima di finalizzare) | Deferred |
|
|
|
|
## Out of Scope
|
|
|
|
- Fatturazione e invio fatture (solo stato pagamenti)
|
|
- App mobile nativa (solo web responsive)
|
|
- Multi-utente con team (solo admin singolo)
|
|
- Prezzi singoli visibili al cliente (solo totale accettato)
|
|
|
|
## Traceability
|
|
|
|
| Requirement | Phase | Status |
|
|
|-------------|-------|--------|
|
|
| DASH-01 | Phase 1 | Pending |
|
|
| DASH-02 | Phase 1 | Pending |
|
|
| DASH-03 | Phase 1 | Pending |
|
|
| DASH-04 | Phase 1 | Pending |
|
|
| DASH-07 | Phase 1 | Pending |
|
|
| DASH-08 | Phase 1 | Pending |
|
|
| DASH-09 | Phase 1 | Pending |
|
|
| DASH-10 | Phase 1 | Pending |
|
|
| ADMIN-01 | Phase 2 | Pending |
|
|
| ADMIN-02 | Phase 2 | Pending |
|
|
| DASH-05 | Phase 2 | Pending |
|
|
| DASH-06 | Phase 2 | Pending |
|
|
| CAT-01 | Phase 3 | Pending |
|
|
| CAT-02 | Phase 3 | Pending |
|
|
| ADMIN-03 | Phase 3 | Pending |
|
|
| PROJ-01 | Phase 4 | Pending |
|
|
| PROJ-02 | Phase 4 | Pending |
|
|
| PROJ-03 | Phase 4 | Pending |
|
|
| PROJ-04 | Phase 4 | Pending |
|
|
| PROJ-05 | Phase 4 | Pending |
|
|
| CLAUDE-01 | Phase 5 (v2) | Deferred |
|
|
| CLAUDE-02 | Phase 5 (v2) | Deferred |
|
|
| CLAUDE-03 | Phase 5 (v2) | Deferred | |