docs(01): capture phase context
This commit is contained in:
@@ -0,0 +1,128 @@
|
||||
# Phase 1: Foundation & Client Dashboard - Discussion Log
|
||||
|
||||
> **Audit trail only.** Do not use as input to planning, research, or execution agents.
|
||||
> Decisions are captured in CONTEXT.md — this log preserves the alternatives considered.
|
||||
|
||||
**Date:** 2026-05-13
|
||||
**Phase:** 1 - Foundation & Client Dashboard
|
||||
**Areas discussed:** Database, Three.js, Brand & visual design, Layout fasi e task, Primo cliente, Storico decisioni
|
||||
|
||||
---
|
||||
|
||||
## Database
|
||||
|
||||
| Option | Description | Selected |
|
||||
|--------|-------------|----------|
|
||||
| Postgres su Coolify | Zero costo extra — istanza Postgres su Hetzner già pagato | ✓ |
|
||||
| Neon free tier | Postgres serverless gestito, 0.5 GB gratis, dipendenza esterna | |
|
||||
| Oracle Cloud Free Tier | ARM 4vCPU 24GB RAM gratuito, richiede configurazione | |
|
||||
|
||||
**User's choice:** Postgres su Coolify (Hetzner)
|
||||
**Notes:** L'utente ha già un server Hetzner con Coolify attivo (usato per SparklingOrbit). Preferisce zero dipendenze esterne a pagamento e mantenere i dati nella propria infrastruttura.
|
||||
|
||||
---
|
||||
|
||||
## Three.js
|
||||
|
||||
| Option | Description | Selected |
|
||||
|--------|-------------|----------|
|
||||
| Animazioni sottili | Effetti di sfondo leggeri (particelle, gradienti animati) | |
|
||||
| Elemento hero visivo | Shape 3D animata nella parte alta della dashboard | |
|
||||
| Ripensaci | UI curata con Tailwind è sufficiente, niente 3D | ✓ |
|
||||
|
||||
**User's choice:** Ripensaci — niente three.js
|
||||
**Notes:** L'utente aveva menzionato three.js inizialmente ma dopo riflessione ha preferito concentrarsi su un'UI curata senza 3D.
|
||||
|
||||
---
|
||||
|
||||
## Brand & Visual Design
|
||||
|
||||
| Option | Description | Selected |
|
||||
|--------|-------------|----------|
|
||||
| Brand hardcoded in Phase 1 | Colori/logo iamcavalli fissi, personalizzazione in Phase 2 | ✓ |
|
||||
| Già configurabile in Phase 1 | Tabella brand_settings e pannello già in Phase 1 | |
|
||||
|
||||
**Brand hardcoded:** ✓ — pannello personalizzazione rimandato a Phase 2
|
||||
|
||||
| Stile visual | Description | Selected |
|
||||
|--------------|-------------|----------|
|
||||
| Dark & premium | Sfondo scuro, accenti brillanti | |
|
||||
| Light & clean | Sfondo chiaro, typography forte | ✓ |
|
||||
| Decido dal pannello | Nessuna preferenza ora | |
|
||||
|
||||
**Stile:** Light & clean
|
||||
|
||||
| Header | Description | Selected |
|
||||
|--------|-------------|----------|
|
||||
| Solo logo + nome progetto | Logo iamcavalli + nome progetto | |
|
||||
| Solo nome brand cliente | brand_name in grande, nessun logo | |
|
||||
| Entrambi | Logo piccolo in corner + brand_name cliente in primo piano | ✓ |
|
||||
|
||||
**Header:** Logo iamcavalli piccolo in un angolo + nome brand cliente prominente
|
||||
|
||||
---
|
||||
|
||||
## Layout Fasi e Task
|
||||
|
||||
| Layout fasi | Description | Selected |
|
||||
|-------------|-------------|----------|
|
||||
| Accordion verticale | Fasi impilate, espandibili | |
|
||||
| Card separate | Card per fase, task sempre visibili | |
|
||||
| Timeline laterale | Indicatore temporale a sinistra, contenuto a destra | ✓ |
|
||||
|
||||
**Layout fasi:** Timeline laterale
|
||||
|
||||
| Task status | Description | Selected |
|
||||
|-------------|-------------|----------|
|
||||
| Badge colorato | Pallino/badge per stato | |
|
||||
| Icona + testo | Icona con etichetta | |
|
||||
| Barra progresso fase | Barra % per fase + lista task | ✓ |
|
||||
|
||||
**Task status:** Barra progresso in cima a ogni fase
|
||||
|
||||
| Avanzamento globale | Description | Selected |
|
||||
|--------------------|-------------|----------|
|
||||
| Sì, in cima | % completamento totale in cima alla dashboard | ✓ |
|
||||
| No, solo per fase | Progresso solo per singola fase | |
|
||||
| No progress bar | Solo stati task | |
|
||||
|
||||
**Progress bar globale:** Sì, in cima alla dashboard
|
||||
|
||||
---
|
||||
|
||||
## Primo Cliente
|
||||
|
||||
| Option | Description | Selected |
|
||||
|--------|-------------|----------|
|
||||
| Seed script | TypeScript script, `npx tsx scripts/seed.ts` | ✓ |
|
||||
| Form admin minimale | Form no-auth per creare primo cliente | |
|
||||
| SQL diretto Coolify | INSERT manuale via console Coolify | |
|
||||
|
||||
**User's choice:** Seed script
|
||||
**Notes:** Lo script inserisce un cliente reale con fasi, task, pagamenti, documenti e stampa l'URL condivisibile.
|
||||
|
||||
---
|
||||
|
||||
## Storico Decisioni (DASH-10)
|
||||
|
||||
| Option | Description | Selected |
|
||||
|--------|-------------|----------|
|
||||
| Solo admin scrive | Admin aggiunge note, cliente legge in sola lettura | ✓ |
|
||||
| Visibile solo in Phase 2 | UI mostrata solo con admin area | |
|
||||
|
||||
**User's choice:** Admin scrive, cliente legge
|
||||
**Notes:** In Phase 1 lo schema è già presente e il cliente vede le note (sezione vuota inizialmente). La UI per aggiungere note arriva con l'area admin in Phase 2.
|
||||
|
||||
---
|
||||
|
||||
## Claude's Discretion
|
||||
|
||||
- Scelta componente UI specifico per timeline laterale (shadcn primitives vs. custom)
|
||||
- CSS dettagliato delle card fasi e task (spaziatura, bordi, hover)
|
||||
- Accent color provvisorio per Phase 1 (in attesa del brand panel in Phase 2)
|
||||
|
||||
## Deferred Ideas
|
||||
|
||||
- **Brand customization panel** (colori, logo upload dall'admin) → Phase 2
|
||||
- **Three.js / animazioni 3D** → Scartato
|
||||
- **Commenti e approvazioni** → Phase 2 (DASH-05, DASH-06)
|
||||
Reference in New Issue
Block a user