From 8d34c6152a629156f31cf0f4d896622e3812a126 Mon Sep 17 00:00:00 2001 From: Luca Sacchi Ricciardi Date: Tue, 24 Mar 2026 19:13:13 +0100 Subject: [PATCH] docs: initialize project --- .planning/PROJECT.md | 70 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 .planning/PROJECT.md diff --git a/.planning/PROJECT.md b/.planning/PROJECT.md new file mode 100644 index 0000000..2e21254 --- /dev/null +++ b/.planning/PROJECT.md @@ -0,0 +1,70 @@ +# Laboratori Cloud - Corso Soluzioni Cloud + +## What This Is + +Un corso pratico di 5 laboratori per imparare le tecnologie Cloud attraverso simulazioni locali con Docker. Ogni lab simula servizi cloud core (IAM, Network, Compute, Storage, Database) usando container e reti isolate, con paralleli diretti a servizi AWS/Azure/GCP. + +Il materiale segue il framework Diátaxis: ogni lab include Tutorial (guida passo-passo), How-to Guides, Reference (specifiche tecniche), e Explanation (raccordo concettuale cloud-locale). + +## Core Value + +**Gli studenti imparano i concetti cloud praticamente in locale, senza costi o complessità di account cloud reali.** + +Se tutto il resto fallisce, questo deve funzionare: ogni lab è eseguibile localmente, testabile, e documenta chiaramente il parallelismo tra l'infrastruttura Docker e il servizio cloud corrispondente. + +## Requirements + +### Validated + +(None yet — ship to validate) + +### Active + +- [ ] **Lab 1 - IAM & Sicurezza**: Utenti Linux, gruppi, chiavi SSH, permessi Docker socket +- [ ] **Lab 2 - Network**: Docker Networks (bridge), iptables per NAT, isolamento VPC +- [ ] **Lab 3 - Compute**: Docker container con limiti CPU/memoria, web server (Nginx/Node.js) +- [ ] **Lab 4 - Storage**: Docker Volumes (Block) e MinIO (Object Storage compatibile S3) +- [ ] **Lab 5 - Database**: PostgreSQL/MySQL in VPC privata con volume persistente +- [ ] **Framework Diátaxis**: 4 documenti per ogni lab (Tutorial, How-to, Reference, Explanation) +- [ ] **Infrastructure TDD**: Script di test per ogni lab prima dell'implementazione +- [ ] **Git Workflow**: Branches `lab-XX-nome` con Conventional Commits + +### Out of Scope + +- **Account cloud reali** — Il corso simula in locale, non usa API AWS/Azure/GCP +- **Mobile apps** — Focus esclusivo su infrastruttura e container Linux +- **Video streaming/storage** — Complessità eccessiva per v1 +- **Real-time collaboration** — Laboratori individuali, non multi-user + +## Context + +**Target audience**: Studenti che hanno già visto superficialmente Azure (conoscono concetti base come VPC, VM, Storage) ma hanno poca esperienza pratica. + +**Metodologia didattica**: +- **Learning by doing**: Ogni concetto cloud è prima spiegato, poi implementato in locale, poi verificato con test +- **Parallelismo esplicito**: Ogni componente Docker è mappato al servizio cloud corrispondente (es. MinIO → S3) +- **Incrementale**: I laboratori costruiscono progressivamente un'architettura complessa + +**Esperienza esistente**: PRD e CLAUDE.md già definiti con principi chiari (Spec-Driven, TDD, Safety first, Little often, Double check) + +## Constraints + +- **Tech stack**: Docker Engine >= 24.0, Docker Compose V2, utility di rete standard (netcat, curl, iproute2) +- **Formato documentazione**: Framework Diátaxis obbligatorio per ogni lab +- **Git workflow**: Conventional Commits (`feat:`, `test:`, `docs:`), branches isolati per lab +- **Principi sicurezza**: Nessun container come root, reti private non esposte sull'host, limiti risorse obbligatori +- **Lingua**: Italiano per tutto il materiale didattico + +## Key Decisions + +| Decision | Rationale | Outcome | +|----------|-----------|---------| +| Docker per simulazione | Standard mercato, isolamento nativo, setup riproducibile | — Pending | +| MinIO per Object Storage | Compatibilità 100% API S3, leggero per locale | — Pending | +| PostgreSQL per Database | Standard open-source, simula RDS/Aurora | — Pending | +| Bridge networks isolate | Simulano VPC/Subnets, permettono test isolamento | — Pending | +| TDD per infrastruttura | Garantisce che requisiti di sicurezza siano verificati | — Pending | +| Framework Diátaxis | Copre tutti gli stili di apprendimento (tutorial, reference, explanation) | — Pending | + +--- +*Last updated: 2026-03-24 after initialization*