# 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)