129 lines
4.7 KiB
Markdown
129 lines
4.7 KiB
Markdown
# 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)
|