Nuovi moduli src/lib/strapi-client.ts + rosa-base.ts/classifica-csi.ts/
storico-match.ts (hook TanStack Query, cache lunga, nessun polling). L'id
stabile gN diventa il campo `codice` su Strapi, per non rompere le FK verso
pagelle/cacche/mvp/palloni/presenze/azioni scout già chiavate su quella
stringa. isAdmin ora prende il Giocatore invece di un id, così non dipende
più dal roster. Rifattorizzati di conseguenza tutti i punti che importavano
`giocatori`/`classifica`/`storicoMatch` come array sincroni (componenti,
hook, due route server) per usare gli hook o un parametro esplicito.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Introduce lo stack Strapi dockerizzato (infra/strapi/), sullo stesso Postgres
dello stack Supabase con un database logico separato, dietro Caddy su /cms/*.
L'editing dei dati avviene solo nel pannello admin nativo di Strapi.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Passo-passo per avviare lo stack Supabase in locale e per il deploy in
produzione (dominio unico con routing /api/*, migrazioni, build/avvio
Node, job pianificati), coerente con i file infra aggiunti nel commit
precedente.
Stack Docker completo in infra/supabase/docker/ (vendored da supabase/supabase)
per svincolare dev e produzione da Lovable Cloud. Include override di
produzione che non espone porte pubblicamente e disattiva i servizi non
usati da CrAPP (Realtime, Storage, imgproxy, Edge Functions, pooler),
un Caddyfile con routing /api/* per un solo dominio, e i template .env
per app e stack. Forzo inoltre il preset Nitro a node-server in
vite.config.ts, dato che il default sarebbe Cloudflare Workers.
Il README precedente era la proposta iniziale del progetto (funzionalità
desiderate, comandi npm). Lo sostituisco con stack, funzionalità
effettivamente implementate e comandi bun corretti.
Il CLAUDE.md e la memory affermavano una sincronizzazione CSI e una
persistenza server-side dei risultati partita che non esistono nel
codice: la classifica è un array hardcoded (demo) e il risultato
scoutato vive solo nel localStorage di chi segna.