Files
CRAPP/docs/modules/obiettivi-squadra.md
T
davide f70430e1bf Retro-documenta i moduli v1.0 mancanti in docs/modules/
Presenze, Serie di presenze, Scout Live, Pagelle, MVP, Badge, Palloni,
Obiettivi di squadra, Infortuni, Notifiche: chiudono il debito di
documentazione tracciato in TODO.md (DD-002). Le sei route API
pubbliche vengono descritte dentro il modulo a cui appartengono.
2026-09-03 15:10:18 +02:00

3.2 KiB

Modulo — Obiettivi di squadra

Stato: implementato (v1.0), con costanti stagionali da aggiornare a mano File principali: src/lib/obiettivi.ts, src/lib/rosa.ts (useObiettivi())


Obiettivo

Mostrare traguardi collettivi (non individuali) che avanzano con il contributo di tutta la rosa — presenze, risposte alle convocazioni, pagelle, risultati di campionato — per motivare comportamenti di squadra oltre alla singola prestazione.


Dati

Nessuna tabella dedicata: ogni obiettivo è una funzione pura in obiettivi.ts che legge dati già aggregati altrove (risposte_presenze, pagelle_voti, i risultati ufficiali CSI, le serie).


Obiettivi definiti

Obiettivo Calcolo Target Fonte
90% presenze ad agosto risposte presente/ritardo sugli eventi del mese 90% risposte_presenze
Tutti rispondono alle convocazioni risposte totali / eventi possibili 90% risposte_presenze
250 presenze complessive somma presenze di tutta la rosa 250 aggregato da useRosa()
Media pagelle da 7.5 media di squadra 7.5 pagelle_voti
200 pagelle compilate conteggio voti 200 pagelle_voti
Continuità di squadra giocatori con ≥3 allenamenti consecutivi 12 serieAllenamenti
1 / 5 / 10 vittorie in campionato partite vinte da dati CSI ufficiali 1/5/10 modulo Collegamento CSI
1 evento di squadra al mese eventi di tipo "evento" nel mese 1 eventi_app

Mostrati in squadra.tsx (elenco completo con barra di progresso) e in index.tsx (home: il primo obiettivo non completato). Un obiettivo che supera il 90% genera anche una notifica smart (notifiche-smart.ts).


Limiti noti

  • "Continuità di squadra" dipende da serieAllenamenti, che oggi è sempre 0 (vedi Serie di presenze): resta strutturalmente a 0/12 con i dati reali.
  • Il mese di riferimento è una costante fissa nel codice (agosto 2026): gli obiettivi legati al mese corrente vanno aggiornati manualmente a ogni cambio di mese o stagione, oggi sono "congelati" su un mese già passato.
  • Le vittorie di campionato dipendono dal parsing HTML del portale CSI: se quel parsing si rompe, questi tre obiettivi restano a 0% anche a fronte di vittorie reali.
  • I target (250 presenze, 200 pagelle, ecc.) sono costanti fisse, da rivedere manualmente a ogni stagione.

Evoluzioni possibili

  • Calcolare il mese di riferimento dinamicamente invece di una costante hardcoded.
  • Risolvere la dipendenza dal modulo Serie.