Mark medical certificates, admin dashboard and CSV export as done: the player-side profile screens exist, so the notes calling them missing were stale. Leave CSI membership and official calendar open, each with what is already there. Record the current dev state of Google auth: implemented but returning "provider is not enabled" until the provider is turned on in Supabase. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
4.3 KiB
Project State
Ultimo aggiornamento: 30/08/2026
Stato generale
Fase corrente:
Backend migrato al nuovo Supabase proprietario. M1 completata. M2 e M3 scritte e da applicare.
Autenticazione Google, dashboard amministratore e Profilo Giocatore (lato giocatore e lato
admin) implementati su develop, da attivare in produzione seguendo i passaggi più sotto.
Infrastruttura
- GitHub configurato con branch
mainedevelop - Cursor come ambiente di sviluppo
- Vercel configurato; Environment Variables aggiornate al nuovo Supabase (Preview e Production)
- Supabase proprietario attivo — Project Ref:
kfkcldwncxqaixetsjes - 12 migration locali applicate con successo al nuovo database
- Sviluppo locale verificato con il nuovo Supabase
- Preview Vercel di
developverificata con successo (presenza scritta surisposte_presenzeconfermata nel nuovo database) - Produzione (
main): non ancora verificata in questa fase
Backend
- Backend operativo: Supabase proprietario (
kfkcldwncxqaixetsjes) - Lovable Cloud: non più backend operativo di CrAPP
- Vecchio Project Ref
hetycilxgkdmccelwerq: deprecato, non utilizzare
Database
- Schema v1.0 + M1 applicati al nuovo Supabase
public.giocatori_squadra: 17 giocatori iniziali presenti
Moduli completati
- Squadra
- Presenze
- Badge
- Scout Live
- Pagelle
- MVP
- Notifiche
- Profilo Giocatore (su
develop, specifica indocs/modules/profilo-giocatore.md)
Autenticazione e dashboard amministratore
Implementate su develop, non ancora attive in produzione. Il codice è additivo: finché
i passaggi qui sotto non sono fatti, l'app si comporta esattamente come prima.
Stato in sviluppo (30/08/2026): il codice c'è ed è completo, ma il login non funziona
ancora. Con npm run dev, «Accedi con Google» risponde:
{"code":400,"error_code":"validation_failed","msg":"Unsupported provider: provider is not enabled"}
Non è un difetto dell'app: l'errore arriva da Supabase, dove il provider Google è spento. È il passo 1 qui sotto, ancora da fare. Tutto il resto dell'app in dev funziona normalmente, perché l'accesso avviene ancora scegliendo il proprio nome.
Passaggi in ordine, nessuno dei quali è reversibile a metà:
- Provider Google in Supabase — Google Cloud Console: consent screen External (scope
emaileprofile, non sensibili: nessuna verifica richiesta, e la modalità Testing regge fino a 100 utenti, più che sufficiente per la squadra), credenziale Web application con redirect URIhttps://kfkcldwncxqaixetsjes.supabase.co/auth/v1/callback. Client ID e secret in Authentication → Providers → Google. In URL Configuration: Site URL di produzione, piùlocalhost:8080e il wildcard delle preview Vercel tra i Redirect URLs. Per provare sullo stack locale invece che sul cloud servono ancheenabled = truein[auth.external.google]disupabase/config.toml, le due variabiliSUPABASE_AUTH_GOOGLE_*in.enve una credenziale con redirect URIhttp://127.0.0.1:54321/auth/v1/callback. - Migration M2 e M3 (
supabase db push). SonoCREATEpuri: si possono applicare in produzione senza toccare il comportamento attuale. - Primo admin, dopo il primo login (l'ID esiste solo da quel momento):
INSERT INTO public.user_roles (user_id, role) SELECT id, 'admin' FROM auth.users WHERE email = '<mail>'; - Collegamento dei 17 account: ciascuno accede con Google e sceglie il proprio nome una volta sola. Uno slot già collegato può essere liberato solo da un admin.
- Solo a squadra collegata:
VITE_AUTH_OBBLIGATORIA=truesu Vercel (fa sparire la selezione libera del giocatore), poi la migration che rimuove le policyanondalle tabelle v1.0. È l'unico passo che cambia il comportamento per tutti.
Attenzione: dev e produzione condividono lo stesso progetto Supabase. Un account di prova che collega uno slot lo occupa anche in produzione, e va liberato da un admin.
Prossimo sviluppo
Gestione tesseramenti CSI: la raccolta dati e l'export CSV sono pronti, manca il tracciamento di chi è già tesserato (numero e data di tessera).
Note
Il progetto segue una metodologia document-first.
Ogni nuova funzionalità viene progettata nella cartella docs/modules/ prima di essere implementata.