Ogni giorno, dalle 8:00 (Europe/Rome), un job pg_cron orario manda a chi compie gli anni «Buon compleanno, <Nome>! 🎂» e a tutti gli altri membri attivi, allenatori compresi, «Oggi è il compleanno di <Nome>» (con più compleanni lo stesso giorno un solo messaggio a testa, nomi in ordine alfabetico). Solo titolo, senza corpo né età. Canali: push, centro notifiche ed email. - migration m31: tipi `compleanno` e `compleanno_auguri`, registro `compleanni_notificati` (una sola volta per destinatario e giorno, anche se la notifica viene eliminata), funzione `genera_avvisi_compleanno()` e job `avvisi-compleanno`, trigger push esteso ai nuovi tipi. Non ancora applicata in produzione. - 29 febbraio non gestito: chi è nato quel giorno è avvisato solo negli anni bisestili (limite noto, documentato). - test: integrazione `notifiche-compleanno` (ora e ora legale, destinatari, più compleanni, registro, coda push/email, 29 febbraio, job pianificato); unit sui nuovi tipi e sul corpo vuoto del service worker. - documentazione: DD-047, catalogo e testi delle notifiche, DATABASE, CHANGELOG, ROADMAP, PROJECT_STATE. Chiude la issue #11. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
69 lines
3.1 KiB
Markdown
69 lines
3.1 KiB
Markdown
# Roadmap
|
|
|
|
Elenco unico delle funzionalità di CrAPP, fatte e previste. È la fonte di riferimento per
|
|
il _cosa_: `CHANGELOG.md` registra _quando_ una voce è stata rilasciata e con quale versione,
|
|
[PROJECT_STATE.md](../PROJECT_STATE.md) cosa si sta facendo adesso.
|
|
|
|
## Fatto
|
|
|
|
Tutto quello che è rilasciato, fino alla versione 1.0.0 (vedi `CHANGELOG.md`).
|
|
|
|
- [x] Gestione squadra
|
|
- [x] Calendario
|
|
- [x] Presenze
|
|
- [x] Serie di presenze
|
|
- [x] Scout Live
|
|
- [x] Badge
|
|
- [x] Badge social
|
|
- [x] Pagelle
|
|
- [x] Votazione MVP
|
|
- [x] Obiettivi di squadra
|
|
- [x] Turno palloni
|
|
- [x] Infortuni — conteggio eventi saltati, in forma minima
|
|
- [x] Notifiche Push (promemoria intelligenti)
|
|
- [x] Centro notifiche in-app — pallino con il numero delle non lette sull'avatar del
|
|
profilo (il tap sul pallino apre l'elenco), indipendente dalla push (messaggi admin, promemoria evento, turno palloni,
|
|
sollecito presenze)
|
|
- [x] Dashboard amministratore
|
|
- [x] Download CSV dati
|
|
- [x] Profilo Giocatore — dati personali, documento d'identità, certificato medico
|
|
(caricamento, scadenza, stato, download); la foto tessera è stata tolta (DD-044); lo storico dei certificati
|
|
resta un'estensione futura
|
|
- [x] Gestione tesseramenti CSI — raccolta dati, export CSV e tracciamento di chi è già
|
|
tesserato (numero e data di tessera)
|
|
- [x] Collegamento CSI (stagione 2025/26)
|
|
- [x] Classifica automatica (campionato e Coppa)
|
|
- [x] Risultati campionato
|
|
- [x] Dettaglio partita — formazioni, storico scontri diretti e probabilità di vittoria
|
|
calcolata dal CSI
|
|
- [x] Ruolo allenatore — gestisce gli eventi e sollecita le presenze, profilo ridotto senza
|
|
stagione e badge ([specifica](modules/allenatore.md), DD-034)
|
|
- [x] Avviso certificati in scadenza — in Home, giallo nei 7 giorni prima, nero dopo la
|
|
scadenza e rosso se il certificato manca (DD-046): agli admin con i nomi dei giocatori, al giocatore solo per il proprio
|
|
([specifica](modules/profilo-giocatore.md#avviso-certificati), DD-035, DD-046)
|
|
- [x] Notifiche email — ogni notifica in-app inviata anche per email agli account registrati,
|
|
da un worker Docker sull'host di casa via Gmail, con interruttore «Email» in Profilo
|
|
([specifica](modules/notifiche-email.md), DD-036)
|
|
- [x] Notifiche automatiche — turno palloni 3 ore prima, sollecito
|
|
presenze 24 ore prima (i pulsanti «Avvisa chi è di turno» e «Sollecita» restano; il promemoria a 24 e 3 ore è stato tolto, DD-043) ([specifica](modules/notifiche.md#testi-delle-notifiche), DD-040)
|
|
|
|
- [x] Notifica di compleanno — auguri al festeggiato e avviso a tutti gli altri, ogni giorno dalle 8:00, su push,
|
|
centro notifiche ed email ([specifica](modules/notifiche.md#catalogo-delle-notifiche), DD-047)
|
|
|
|
## Prossimo
|
|
|
|
- [ ] Calendario ufficiale — i dati delle gare future arrivano già dal feed CSI, la pagina
|
|
Campionato usa solo quelle giocate
|
|
- [ ] Database esercizi
|
|
- [ ] AI Allenamenti
|
|
- [ ] Archivio allenamenti
|
|
|
|
## Idee future
|
|
|
|
- [ ] Gestione quote
|
|
- [ ] Calendario Google
|
|
- [ ] Backup automatici
|
|
- [ ] Analisi statistiche avanzate
|
|
- [ ] Widget meteo
|
|
- [ ] Analisi Scout con AI
|