Files
CRAPP/PROJECT_STATE.md
T
davideandClaude Sonnet 5.5 985fc2fcc1 Notifica di compleanno: auguri al festeggiato, avviso agli altri (DD-047)
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>
2026-10-06 10:18:22 +02:00

2.4 KiB

Project State

Ultimo aggiornamento: 06/10/2026

Questo file dice a che punto siamo ora. Le funzionalità stanno in docs/ROADMAP.md, i rilasci in docs/CHANGELOG.md, lo schema in docs/DATABASE.md, le procedure in docs/OPERATIONS.md. Non ripetere qui quello che hanno già loro.

Stato generale

  • Versione: 1.2.3 (in produzione su main la 1.2.2) — notifiche su tre canali, avvisi di palloni (3 ore prima) e presenze (24 ore prima) una sola volta, niente promemoria evento, niente foto tessera, avviso certificato a 30 giorni per il giocatore, avviso rosso per chi non l'ha caricato.
  • Backend: Supabase proprietario (kfkcldwncxqaixetsjes). Lovable Cloud e il vecchio Project Ref hetycilxgkdmccelwerq non si usano più.
  • Migration: 42 file in supabase/migrations/, fino a m31_notifica_compleanno. Le prime 41 (fino a m30_sollecito_solo_24h) sono applicate in produzione (verificato con npx supabase migration list il 01/10/2026); la m31 no, ancora da applicare (DD-047). La m29 toglie foto_path: il codice che non la legge più (1.2.2) va rilasciato.
  • Worker delle notifiche (mailer/): in funzione su un Raspberry Pi con Docker dal 29/09/2026 (docs/WORKER_EMAIL.md). Il codice con l'interruttore «Email» in Profilo è su develop, non ancora su main.
  • Accesso: il login Google è l'unica via d'ingresso; i permessi di amministrazione arrivano solo da user_roles. Il collegamento degli account è un processo continuo: ogni giocatore si collega al primo accesso (DD-018).
  • Lavoro in corso: niente di assegnato. Le voci aperte stanno in docs/ROADMAP.md, sotto «Prossimo».

Cose da sapere

  • Si lavora direttamente su main (DD-019); Cursor e Claude Code sono gli ambienti di sviluppo.
  • 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.
  • Lo slot g18 «Beta Tester» è impostato come allenatore in produzione (24/09/2026). Numero 99 e ruolo «Palleggiatore» sono rimasti apposta per la 0.9.2: da svuotare da /admin se ancora presenti.

Note

Il progetto segue una metodologia document-first (DD-002): ogni funzionalità si progetta in docs/modules/ prima di essere implementata.