# Architecture Decision Records

> Registro delle decisioni architetturali e dei pattern di design utilizzati.

## Formato

```markdown
## [YYYY-MM-DD] - [Titolo Decisione]

### Contesto
[Background e motivazione]

### Decisione
[Cosa è stato deciso]

### Conseguenze
- Positivo: [Benefici]
- Negativo: [Trade-off]

### Alternative Considerate
- [Alternativa 1]: [Perché scartata]
- [Alternativa 2]: [Perché scartata]
```

---

## Esempio Template

## 2026-04-05 - Uso di FastAPI come framework API

### Contesto
Necessità di un framework web async per l'API REST con documentazione OpenAPI automatica.

### Decisione
Adottare FastAPI come framework principale per:
- Supporto nativo async/await
- Validazione automatica con Pydantic
- Documentazione OpenAPI/Swagger integrata
- Performance elevate

### Conseguenze
- **Positivo:**
  - Sviluppo più rapido con type hints
  - Documentazione API sempre aggiornata
  - Validazione input automatica
  - Supporto nativo async per I/O bound operations
  
- **Negativo:**
  - Curva di apprendimento per sviluppatori nuovi
  - Dipendenza da Pydantic v2

### Alternative Considerate
- **Flask**: Scartato per mancanza di supporto async nativo
- **Django REST Framework**: Scartato per essere troppo pesante per API-only
- **Starlette**: Scartato in favore di FastAPI che include più funzionalità out-of-box

---

*Aggiungere nuove decisioni in ordine cronologico crescente*
