Cita con percorso completo i 28 file di src/ che nessun documento nominava e aggiunge la riga Codice a 21 decisioni, ricavata dai file che le citano. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
25 lines
919 B
Markdown
25 lines
919 B
Markdown
# DD-007 — Badge calcolati dall’app, non salvati nel database
|
||
|
||
**Data:** origine progetto
|
||
**Stato:** Accettata
|
||
**Codice:** `src/lib/profili-core.ts`
|
||
|
||
**Contesto**
|
||
I badge dipendono da statistiche già disponibili (presenze, MVP, cacche, ecc.). Salvare ogni badge sbloccato nel database aggiungerebbe complessità senza beneficio immediato.
|
||
|
||
**Decisione**
|
||
I badge vengono **calcolati al volo** dall’applicazione in base ai dati esistenti. Non esiste una tabella badge dedicata.
|
||
|
||
**Alternative scartate**
|
||
|
||
- Tabella `badge_sbloccati` con storico → utile in futuro per notifiche retroattive o audit, ma non necessaria ora.
|
||
|
||
**Conseguenze**
|
||
|
||
- Meno migration e meno sincronizzazione.
|
||
- Lo “sblocco” celebrativo usa cache locale per non ripetere animazioni.
|
||
- Un eventuale storico badge richiederà una nuova decisione.
|
||
|
||
**Riesame**
|
||
Se servono badge manuali assegnati dagli admin o storico immutabile.
|