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