# TtA — Piattaforma tornei *Through the Ages* (Tana dei Goblin) Progetto **pro bono**: una **vetrina pubblica** + un **portale gestionale** per i tornei online del gioco *Through the Ages* (app ufficiale CGE) della community **Tana dei Goblin**. Greenfield. Al 2026-06-07 siamo in **fase di analisi**, non di implementazione. ## Stato corrente (2026-06-07) Fase **analisi/architettura**. L'organizzazione deve ancora decidere la formula dei tornei (dal 2027: 3 Bolge/anno, niente Torneo Generale; dimensione gironi 13 vs 7 vs 4 — vedi [`docs/04-riforma-formula.md`](docs/04-riforma-formula.md)). **MA**: decisione di prodotto = il gestionale è un **motore eventi GENERICO e configurabile** (crea qualunque evento con parametri liberi, vedi [`docs/05-requisiti-prodotto.md`](docs/05-requisiti-prodotto.md)), quindi la formula indecisa diventa **configurazione** e **non blocca lo sviluppo**. **Stack deciso**: **SvelteKit** (app unica: vetrina + gestionale + dashboard) su **Vercel**; **Neon Postgres + Drizzle** (DB revisabile vs Turso); **Better Auth**; **Resend** + **Vercel Cron**; Tailwind + shadcn-svelte; PWA/push in fase 2. Prod su Vercel; **NAS = solo dev locale + backup**. Razionale in [`docs/decisioni/2026-06-07-stack-architettura.md`](docs/decisioni/2026-06-07-stack-architettura.md). ## Convenzioni di lavoro (Paolo) - **Principi/workflow**: vedi `../comportamento.md` — plan-first per task non banali, subagent liberali per tenere pulito il contesto, **verifica prima di dichiarare "done"**, semplicità e impatto minimo, niente fix temporanei. - **Task tracking**: [`tasks/todo.md`](tasks/todo.md) (backlog/checklist), [`tasks/lessons.md`](tasks/lessons.md) (da aggiornare dopo ogni correzione dell'utente). - **Piani datati**: `docs/plans/YYYY-MM-DD-.md`. - **Database (produzione)**: **Neon Postgres + Drizzle** (revisabile vs Turso). La MariaDB del NAS (`../db_connection_v2.md`, skill `db-query`, **sola lettura**) serve solo per dev locale/altri progetti, **non** è il DB di produzione di TtA. - **Lingua**: italiano (codice in inglese se/quando si scriverà). ## Mappa documentazione (`docs/`) 1. [`01-contesto.md`](docs/01-contesto.md) — Tana dei Goblin, *Through the Ages*, obiettivo del progetto 2. [`02-dominio-tornei.md`](docs/02-dominio-tornei.md) — meccaniche: calendario, Bolgia, punteggi, ranking, sanzioni 3. [`03-stato-attuale.md`](docs/03-stato-attuale.md) — come gestiscono ora (Excel + Trello), snapshot EST26, trend 4. [`04-riforma-formula.md`](docs/04-riforma-formula.md) — la riforma in discussione (**il blocco**) 5. [`05-requisiti-prodotto.md`](docs/05-requisiti-prodotto.md) — vetrina + gestionale, ruoli, feature 6. [`06-modello-dati.md`](docs/06-modello-dati.md) — bozza entità/dati (parte stabile vs parte dipendente dalla formula) 7. [`07-decisioni-aperte.md`](docs/07-decisioni-aperte.md) — decision log / domande aperte 8. [`08-integrazione-cge.md`](docs/08-integrazione-cge.md) — come far comunicare CGE Online e il nostro portale (niente API; c'è `Download results` per i moderatori) ## Sorgenti da migrare (`data/`) Workbook Excel (26 fogli, storico 2020→2026) + board Trello + regolamento. Vedi [`data/README.md`](data/README.md). I file sorgente sono in [`data/sorgenti/`](data/sorgenti/).