Add complete mockupAWS platform for AWS cost estimation: - FastAPI backend with scenario management - PostgreSQL database schema for scenarios, metrics, logs - AWS pricing table with real pricing data - React frontend dashboard (planned) - PII detection and token counting - Report generation (PDF/CSV) - Complete test suite with pytest - Docker Compose setup - Documentation: README, PRD, Architecture - OpenCode configuration (.opencode/)
60 lines
1.4 KiB
Markdown
60 lines
1.4 KiB
Markdown
# 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*
|