- Spezza il registro delle decisioni in docs/decisions/DD-XXX.md, con indice - Ripulisce DATABASE.md dalla storia delle migration e aggiunge la sezione Lettura - Riduce PROJECT_STATE.md a una pagina; la procedura di allestimento passa in OPERATIONS.md - Aggiunge OPERATIONS.md, GLOSSARIO.md, trappole note e checklist in ARCHITECTURE.md - Sintetizza la copertura test di badge.md e documenta docs/archive - Allinea AGENTS.md, README.md e la regola Cursor (tolto l'obbligo di develop, in contrasto con DD-019) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
23 lines
765 B
Markdown
23 lines
765 B
Markdown
# DD-013 — Portabilità: l’app non deve dipendere da servizi esclusivi
|
||
|
||
**Data:** luglio 2026
|
||
**Stato:** Accettata
|
||
|
||
**Contesto**
|
||
La squadra potrebbe voler cambiare hosting, database o fornitore auth in futuro.
|
||
|
||
**Decisione**
|
||
CrAPP deve poter girare su **Node.js + PostgreSQL standard**. Niente funzionalità bloccate su servizi proprietari. I dati si accedono solo tramite moduli in `src/lib/`, non direttamente dai componenti.
|
||
|
||
**Alternative scartate**
|
||
|
||
- Accettare lock-in per velocità → contrario alla lunga vita del progetto.
|
||
|
||
**Conseguenze**
|
||
|
||
- Supabase va bene perché è PostgreSQL e self-hostable.
|
||
- Le API push e i job restano endpoint HTTP richiamabili da qualsiasi scheduler.
|
||
|
||
**Riesame**
|
||
Se si adotta un servizio che viola questa regola.
|