ff
This commit is contained in:
+52
@@ -0,0 +1,52 @@
|
||||
# ARCHITECTURE — {{PROGETTO}}
|
||||
|
||||
Ultimo aggiornamento: **{{DATA}}** · Stato: **in stesura**
|
||||
|
||||
---
|
||||
|
||||
## 1. Vista d'insieme
|
||||
|
||||
```
|
||||
<!-- DA COMPILARE: schema ASCII dei servizi e delle frecce principali -->
|
||||
```
|
||||
|
||||
## 2. Servizi
|
||||
|
||||
| Servizio | Tecnologia | Responsabilità | Non fa |
|
||||
|---|---|---|---|
|
||||
| <!-- DA COMPILARE --> | | | |
|
||||
|
||||
<!-- Per ogni scelta non ovvia («perché due servizi e non uno») una sottosezione breve che
|
||||
rimanda alla D-xxx. -->
|
||||
|
||||
## 3. Flusso principale
|
||||
|
||||
<!-- DA COMPILARE: il caso d'uso UC-01 attraverso i servizi, passo per passo, con le code e i dati scambiati. -->
|
||||
|
||||
## 4. Code e lavori asincroni
|
||||
|
||||
| Coda / lavoro | Produttore | Consumatore | Tentativi | Cosa succede se fallisce |
|
||||
|---|---|---|:-:|---|
|
||||
| <!-- DA COMPILARE o «non applicabile» --> | | | | |
|
||||
|
||||
## 5. Configurazione
|
||||
|
||||
<!-- DA COMPILARE: cosa è variabile d'ambiente, cosa è configurazione a caldo, cosa è segreto. -->
|
||||
|
||||
## 6. Multi-tenancy e isolamento
|
||||
|
||||
<!-- DA COMPILARE o «non applicabile». -->
|
||||
|
||||
## 7. Integrazioni esterne
|
||||
|
||||
| Sistema | Direzione | Protocollo | Contratto |
|
||||
|---|---|---|---|
|
||||
| <!-- DA COMPILARE --> | | | |
|
||||
|
||||
## 8. Ambienti
|
||||
|
||||
Vedi [`../06-devops/ENVIRONMENTS.md`](../06-devops/ENVIRONMENTS.md).
|
||||
|
||||
## 9. Documenti collegati
|
||||
|
||||
[`C4_MODEL.md`](C4_MODEL.md) · [`DATA_MODEL.md`](DATA_MODEL.md) · [`DOMAIN_WORKFLOW.md`](DOMAIN_WORKFLOW.md) · [`SECURITY.md`](SECURITY.md)
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
# C4 MODEL — Contesto, Contenitori, Componenti
|
||||
|
||||
Ultimo aggiornamento: **{{DATA}}**
|
||||
|
||||
---
|
||||
|
||||
## Livello 1 · Contesto
|
||||
|
||||
```
|
||||
<!-- DA COMPILARE: il sistema al centro, attori e sistemi esterni intorno -->
|
||||
```
|
||||
|
||||
| Attore / sistema esterno | Relazione con {{PROGETTO}} |
|
||||
|---|---|
|
||||
| <!-- DA COMPILARE --> | |
|
||||
|
||||
## Livello 2 · Contenitori
|
||||
|
||||
| Contenitore | Tecnologia | Parla con | Porta / protocollo |
|
||||
|---|---|---|---|
|
||||
| <!-- DA COMPILARE --> | | | |
|
||||
|
||||
## Livello 3 · Componenti
|
||||
|
||||
### 3.1 <!-- Contenitore -->
|
||||
|
||||
| Componente | Responsabilità | Spec |
|
||||
|---|---|---|
|
||||
| <!-- DA COMPILARE --> | | `SPEC-…` |
|
||||
|
||||
## 4. Corrispondenza fra i livelli e i requisiti
|
||||
|
||||
| Componente | Requisiti |
|
||||
|---|---|
|
||||
| <!-- DA COMPILARE --> | `REQ-…` |
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
# DATA MODEL — Entità, relazioni, invarianti
|
||||
|
||||
Ultimo aggiornamento: **{{DATA}}**
|
||||
|
||||
Modello **logico**. Lo schema fisico (tipi, indici, migrazioni) è in
|
||||
[`../05-data/DATABASE.md`](../05-data/DATABASE.md).
|
||||
|
||||
---
|
||||
|
||||
## 1. Mappa delle entità
|
||||
|
||||
```
|
||||
<!-- DA COMPILARE: entità e cardinalità, es. Tenant 1──* Utente -->
|
||||
```
|
||||
|
||||
## 2. Entità
|
||||
|
||||
### 2.1 <!-- Entità -->
|
||||
|
||||
| Attributo | Significato | Obbligatorio | Note |
|
||||
|---|---|:-:|---|
|
||||
| <!-- DA COMPILARE --> | | | |
|
||||
|
||||
**Ciclo di vita:** <!-- chi la crea, chi la modifica, quando si cancella -->
|
||||
|
||||
## 3. Chiavi naturali e univocità
|
||||
|
||||
| Entità | Univoca per |
|
||||
|---|---|
|
||||
| <!-- DA COMPILARE --> | |
|
||||
|
||||
## 4. Cancellazioni
|
||||
|
||||
| Entità | Cancellazione | Effetto sui figli |
|
||||
|---|---|---|
|
||||
| <!-- DA COMPILARE: fisica, logica (soft delete), vietata --> | | |
|
||||
|
||||
## 5. Invarianti del modello
|
||||
|
||||
| # | Invariante |
|
||||
|:-:|---|
|
||||
| M1 | <!-- DA COMPILARE --> |
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
# DOMAIN WORKFLOW — Stati, transizioni, invarianti
|
||||
|
||||
Ultimo aggiornamento: **{{DATA}}**
|
||||
|
||||
<!-- Se il dominio non ha un ciclo di vita con stati, scrivere «non applicabile» e il perché. -->
|
||||
|
||||
---
|
||||
|
||||
## 1. Stati
|
||||
|
||||
| Stato | Significato | Terminale |
|
||||
|---|---|:-:|
|
||||
| <!-- DA COMPILARE --> | | |
|
||||
|
||||
## 2. Macchina a stati
|
||||
|
||||
```
|
||||
<!-- DA COMPILARE: diagramma ASCII degli stati -->
|
||||
```
|
||||
|
||||
## 3. Transizioni ammesse
|
||||
|
||||
Qualsiasi transizione non elencata qui è **rifiutata**.
|
||||
|
||||
| # | Da | A | Attore | Condizione | Effetti collaterali |
|
||||
|:-:|---|---|---|---|---|
|
||||
| T1 | | | | | |
|
||||
|
||||
## 4. Invarianti
|
||||
|
||||
Condizioni che devono essere vere **sempre**, verificate da test.
|
||||
|
||||
| # | Invariante |
|
||||
|:-:|---|
|
||||
| I1 | <!-- DA COMPILARE --> |
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
# SECURITY — Modello di sicurezza
|
||||
|
||||
Ultimo aggiornamento: **{{DATA}}**
|
||||
|
||||
---
|
||||
|
||||
## 1. Perimetro
|
||||
|
||||
<!-- DA COMPILARE: cosa è esposto a Internet, cosa resta interno. -->
|
||||
|
||||
## 2. Autenticazione
|
||||
|
||||
<!-- DA COMPILARE: meccanismo, durata dei token, rotte pubbliche (elenco chiuso: aggiungerne una richiede una D-xxx). -->
|
||||
|
||||
## 3. Autorizzazione
|
||||
|
||||
| Ruolo | Può | Non può |
|
||||
|---|---|---|
|
||||
| <!-- DA COMPILARE --> | | |
|
||||
|
||||
Regola: nessuno crea un utente più potente di sé.
|
||||
|
||||
## 4. Segreti
|
||||
|
||||
- I segreti non entrano mai nel repository, nei log o nella documentazione.
|
||||
- <!-- DA COMPILARE: dove vivono (variabili d'ambiente, secret manager, cifrati a riposo). -->
|
||||
|
||||
## 5. Dati in ingresso e in uscita
|
||||
|
||||
<!-- DA COMPILARE: validazione, dimensioni massime, dati personali, cosa esce verso terzi. -->
|
||||
|
||||
## 6. Audit
|
||||
|
||||
<!-- DA COMPILARE: quali eventi si registrano, dove, per quanto tempo. -->
|
||||
|
||||
## 7. Minacce e contromisure
|
||||
|
||||
| Minaccia | Contromisura | Verificata da |
|
||||
|---|---|---|
|
||||
| <!-- DA COMPILARE --> | | test / `REQ-…` |
|
||||
|
||||
## 8. Cosa resta aperto
|
||||
|
||||
<!-- DA COMPILARE -->
|
||||
Reference in New Issue
Block a user