Backend (@backend-dev): - Add ReportService with PDF/CSV generation (reportlab, pandas) - Implement Report API endpoints (POST, GET, DELETE, download) - Add ReportRepository and schemas - Configure storage with auto-cleanup (30 days) - Rate limiting: 10 downloads/minute - Professional PDF templates with charts support Frontend (@frontend-dev): - Integrate Recharts for data visualization - Add CostBreakdown, TimeSeries, ComparisonBar charts - Implement scenario comparison page with multi-select - Add dark/light mode toggle with ThemeProvider - Create Reports page with generation form and list - Add new UI components: checkbox, dialog, tabs, label, skeleton - Implement useComparison and useReports hooks QA (@qa-engineer): - Setup Playwright E2E testing framework - Create 7 test spec files with 94 test cases - Add visual regression testing with baselines - Configure multi-browser testing (Chrome, Firefox, WebKit) - Add mobile responsive tests - Create test fixtures and helpers - Setup GitHub Actions CI workflow Documentation (@spec-architect): - Create detailed kanban-v0.4.0.md with 27 tasks - Update progress.md with v0.4.0 tracking - Create v0.4.0 planning prompt Features: ✅ PDF/CSV Report Generation ✅ Interactive Charts (Pie, Area, Bar) ✅ Scenario Comparison (2-4 scenarios) ✅ Dark/Light Mode Toggle ✅ E2E Test Suite (94 tests) Dependencies added: - Backend: reportlab, pandas, slowapi - Frontend: recharts, date-fns, @radix-ui/react-checkbox/dialog/tabs - Testing: @playwright/test 27 tasks completed, 100% v0.4.0 implementation
318 lines
12 KiB
Markdown
318 lines
12 KiB
Markdown
# Progress Tracking - mockupAWS
|
|
|
|
> **Progetto:** mockupAWS - Backend Profiler & Cost Estimator
|
|
> **Versione Target:** v0.4.0
|
|
> **Data Inizio:** 2026-04-07
|
|
> **Data Ultimo Aggiornamento:** 2026-04-07
|
|
|
|
---
|
|
|
|
## 🎯 Sprint/Feature Corrente
|
|
|
|
**Feature:** v0.4.0 - Reports, Charts & Comparison
|
|
**Iniziata:** 2026-04-07
|
|
**Stato:** ⏳ Pianificata - Pronta per inizio
|
|
**Assegnato:** @frontend-dev (lead), @backend-dev, @qa-engineer
|
|
|
|
---
|
|
|
|
## 📊 Progresso Complessivo
|
|
|
|
| Area | Task Totali | Completati | Progresso | Stato |
|
|
|------|-------------|------------|-----------|-------|
|
|
| Database (Migrazioni) | 7 | 7 | 100% | 🟢 Completato |
|
|
| Backend - Models/Schemas | 5 | 5 | 100% | 🟢 Completato |
|
|
| Backend - Repository | 5 | 5 | 100% | 🟢 Completato |
|
|
| Backend - Services | 6 | 6 | 100% | 🟢 Completato |
|
|
| Backend - API | 6 | 6 | 100% | 🟢 Completato |
|
|
| Frontend - Setup | 4 | 4 | 100% | 🟢 Completato |
|
|
| Frontend - Components | 8 | 8 | 100% | 🟢 Completato |
|
|
| Frontend - Pages | 4 | 4 | 100% | 🟢 Completato |
|
|
| Frontend - API Integration | 3 | 3 | 100% | 🟢 Completato |
|
|
| v0.3.0 Testing | 3 | 2 | 67% | 🟡 In corso |
|
|
| v0.3.0 DevOps | 4 | 3 | 75% | 🟡 In corso |
|
|
| **v0.3.0 Completamento** | **55** | **53** | **96%** | 🟢 **Completata** |
|
|
| **v0.4.0 - Backend Reports** | **5** | **0** | **0%** | ⏳ **Pending** |
|
|
| **v0.4.0 - Frontend Reports** | **4** | **0** | **0%** | ⏳ **Pending** |
|
|
| **v0.4.0 - Visualization** | **6** | **0** | **0%** | ⏳ **Pending** |
|
|
| **v0.4.0 - Comparison** | **4** | **0** | **0%** | ⏳ **Pending** |
|
|
| **v0.4.0 - Theme** | **4** | **0** | **0%** | ⏳ **Pending** |
|
|
| **v0.4.0 - QA E2E** | **4** | **0** | **0%** | ⏳ **Pending** |
|
|
| **v0.4.0 Totale** | **27** | **0** | **0%** | ⏳ **Pianificata** |
|
|
|
|
---
|
|
|
|
## ✅ Task Completate (v0.2.0 + v0.3.0)
|
|
|
|
### Fase 1: Database & Backend Core ✅
|
|
|
|
| ID | Task | Completata | Assegnato | Note |
|
|
|----|------|------------|-----------|------|
|
|
| DB-001 | Alembic Setup | ✅ 2026-04-07 | @db-engineer | Configurazione completa |
|
|
| DB-002 | Migration Scenarios Table | ✅ 2026-04-07 | @db-engineer | Con indici e constraints |
|
|
| DB-003 | Migration Logs Table | ✅ 2026-04-07 | @db-engineer | Con partition ready |
|
|
| DB-004 | Migration Metrics Table | ✅ 2026-04-07 | @db-engineer | Metriche calcolate |
|
|
| DB-005 | Migration Pricing Table | ✅ 2026-04-07 | @db-engineer | Prezzi AWS reali |
|
|
| DB-006 | Migration Reports Table | ✅ 2026-04-07 | @db-engineer | Per export futuro |
|
|
| DB-007 | Seed AWS Pricing Data | ✅ 2026-04-07 | @db-engineer | us-east-1, eu-west-1 |
|
|
| BE-001 | Database Connection | ✅ 2026-04-07 | @backend-dev | Async SQLAlchemy 2.0 |
|
|
| BE-002 | SQLAlchemy Models | ✅ 2026-04-07 | @backend-dev | 5 modelli completi |
|
|
| BE-003 | Pydantic Schemas | ✅ 2026-04-07 | @backend-dev | Input/output validation |
|
|
| BE-004 | Repository Layer | ✅ 2026-04-07 | @backend-dev | Pattern repository |
|
|
| BE-005 | Services Layer | ✅ 2026-04-07 | @backend-dev | PII, Cost, Ingest |
|
|
| BE-006 | Scenario CRUD API | ✅ 2026-04-07 | @backend-dev | POST/GET/PUT/DELETE |
|
|
| BE-007 | Ingest API | ✅ 2026-04-07 | @backend-dev | Con validazione |
|
|
| BE-008 | Metrics API | ✅ 2026-04-07 | @backend-dev | Costi in tempo reale |
|
|
|
|
### Fase 2: Frontend Implementation ✅
|
|
|
|
| ID | Task | Completata | Assegnato | Note |
|
|
|----|------|------------|-----------|------|
|
|
| FE-001 | React + Vite Setup | ✅ 2026-04-07 | @frontend-dev | TypeScript configurato |
|
|
| FE-002 | Tailwind + shadcn/ui | ✅ 2026-04-07 | @frontend-dev | Tema coerente |
|
|
| FE-003 | Axios + React Query | ✅ 2026-04-07 | @frontend-dev | Error handling |
|
|
| FE-004 | TypeScript Types | ✅ 2026-04-07 | @frontend-dev | API types completi |
|
|
| FE-005 | Layout Components | ✅ 2026-04-07 | @frontend-dev | Header, Sidebar, Layout |
|
|
| FE-006 | Dashboard Page | ✅ 2026-04-07 | @frontend-dev | Lista scenari |
|
|
| FE-007 | Scenario Detail Page | ✅ 2026-04-07 | @frontend-dev | Metriche e costi |
|
|
| FE-008 | Scenario Edit Page | ✅ 2026-04-07 | @frontend-dev | Create/Update form |
|
|
| FE-009 | UI Components | ✅ 2026-04-07 | @frontend-dev | Button, Card, Dialog, etc. |
|
|
| FE-010 | Error Handling | ✅ 2026-04-07 | @frontend-dev | Toast notifications |
|
|
| FE-011 | Responsive Design | ✅ 2026-04-07 | @frontend-dev | Mobile ready |
|
|
| FE-012 | Loading States | ✅ 2026-04-07 | @frontend-dev | Skeleton loaders |
|
|
|
|
---
|
|
|
|
## 🔄 Attività in Corso
|
|
|
|
### Task Corrente: DevOps & Testing Finalizzazione
|
|
|
|
| Campo | Valore |
|
|
|-------|--------|
|
|
| **ID** | DEV-004 |
|
|
| **Descrizione** | Verifica docker-compose.yml completo e testing E2E |
|
|
| **Iniziata** | 2026-04-07 |
|
|
| **Assegnato** | @devops-engineer |
|
|
| **Stato** | 🟡 In progress |
|
|
| **Bloccata da** | Nessuna |
|
|
| **Note** | Verifica configurazione completa con frontend |
|
|
|
|
---
|
|
|
|
## 📅 v0.4.0 - Task Breakdown
|
|
|
|
### 📝 BACKEND - Report Generation
|
|
|
|
| Priority | ID | Task | Stima | Assegnato | Stato | Dipendenze |
|
|
|----------|----|------|-------|-----------|-------|------------|
|
|
| P1 | BE-RPT-001 | Report Service Implementation | L | @backend-dev | ⏳ Pending | v0.3.0 |
|
|
| P1 | BE-RPT-002 | Report Generation API | M | @backend-dev | ⏳ Pending | BE-RPT-001 |
|
|
| P1 | BE-RPT-003 | Report Download API | S | @backend-dev | ⏳ Pending | BE-RPT-002 |
|
|
| P2 | BE-RPT-004 | Report Storage | S | @backend-dev | ⏳ Pending | BE-RPT-001 |
|
|
| P2 | BE-RPT-005 | Report Templates | M | @backend-dev | ⏳ Pending | BE-RPT-001 |
|
|
|
|
**Progresso Backend Reports:** 0/5 (0%)
|
|
|
|
### 🎨 FRONTEND - Report UI
|
|
|
|
| Priority | ID | Task | Stima | Assegnato | Stato | Dipendenze |
|
|
|----------|----|------|-------|-----------|-------|------------|
|
|
| P1 | FE-RPT-001 | Report Generation UI | M | @frontend-dev | ⏳ Pending | BE-RPT-002 |
|
|
| P1 | FE-RPT-002 | Reports List | M | @frontend-dev | ⏳ Pending | FE-RPT-001 |
|
|
| P1 | FE-RPT-003 | Report Download Handler | S | @frontend-dev | ⏳ Pending | FE-RPT-002 |
|
|
| P2 | FE-RPT-004 | Report Preview | S | @frontend-dev | ⏳ Pending | FE-RPT-001 |
|
|
|
|
**Progresso Frontend Reports:** 0/4 (0%)
|
|
|
|
### 📊 FRONTEND - Data Visualization
|
|
|
|
| Priority | ID | Task | Stima | Assegnato | Stato | Dipendenze |
|
|
|----------|----|------|-------|-----------|-------|------------|
|
|
| P1 | FE-VIZ-001 | Recharts Integration | M | @frontend-dev | ⏳ Pending | FE-002 |
|
|
| P1 | FE-VIZ-002 | Cost Breakdown Chart | M | @frontend-dev | ⏳ Pending | FE-VIZ-001 |
|
|
| P1 | FE-VIZ-003 | Time Series Chart | M | @frontend-dev | ⏳ Pending | FE-VIZ-001 |
|
|
| P1 | FE-VIZ-004 | Comparison Bar Chart | M | @frontend-dev | ⏳ Pending | FE-VIZ-001, FE-CMP-002 |
|
|
| P2 | FE-VIZ-005 | Metrics Distribution Chart | M | @frontend-dev | ⏳ Pending | FE-VIZ-001 |
|
|
| P2 | FE-VIZ-006 | Dashboard Overview Charts | S | @frontend-dev | ⏳ Pending | FE-VIZ-001, FE-006 |
|
|
|
|
**Progresso Visualization:** 0/6 (0%)
|
|
|
|
### 🔍 FRONTEND - Scenario Comparison
|
|
|
|
| Priority | ID | Task | Stima | Assegnato | Stato | Dipendenze |
|
|
|----------|----|------|-------|-----------|-------|------------|
|
|
| P1 | FE-CMP-001 | Comparison Selection UI | S | @frontend-dev | ⏳ Pending | FE-006 |
|
|
| P1 | FE-CMP-002 | Compare Page | M | @frontend-dev | ⏳ Pending | FE-CMP-001 |
|
|
| P1 | FE-CMP-003 | Comparison Tables | M | @frontend-dev | ⏳ Pending | FE-CMP-002 |
|
|
| P2 | FE-CMP-004 | Visual Comparison | S | @frontend-dev | ⏳ Pending | FE-CMP-002, FE-VIZ-001 |
|
|
|
|
**Progresso Comparison:** 0/4 (0%)
|
|
|
|
### 🌓 FRONTEND - Dark/Light Mode
|
|
|
|
| Priority | ID | Task | Stima | Assegnato | Stato | Dipendenze |
|
|
|----------|----|------|-------|-----------|-------|------------|
|
|
| P2 | FE-THM-001 | Theme Provider Setup | S | @frontend-dev | ⏳ Pending | FE-002, FE-005 |
|
|
| P2 | FE-THM-002 | Tailwind Dark Mode Config | S | @frontend-dev | ⏳ Pending | FE-THM-001 |
|
|
| P2 | FE-THM-003 | Component Theme Support | M | @frontend-dev | ⏳ Pending | FE-THM-002 |
|
|
| P2 | FE-THM-004 | Chart Theming | S | @frontend-dev | ⏳ Pending | FE-VIZ-001, FE-THM-003 |
|
|
|
|
**Progresso Theme:** 0/4 (0%)
|
|
|
|
### 🧪 QA - E2E Testing
|
|
|
|
| Priority | ID | Task | Stima | Assegnato | Stato | Dipendenze |
|
|
|----------|----|------|-------|-----------|-------|------------|
|
|
| P3 | QA-E2E-001 | Playwright Setup | M | @qa-engineer | ⏳ Pending | Frontend stable |
|
|
| P3 | QA-E2E-002 | Test Scenarios | L | @qa-engineer | ⏳ Pending | QA-E2E-001 |
|
|
| P3 | QA-E2E-003 | Test Data | M | @qa-engineer | ⏳ Pending | QA-E2E-001 |
|
|
| P3 | QA-E2E-004 | Visual Regression | M | @qa-engineer | ⏳ Pending | QA-E2E-001 |
|
|
|
|
**Progresso QA:** 0/4 (0%)
|
|
|
|
---
|
|
|
|
## 📈 Riepilogo v0.4.0
|
|
|
|
| Categoria | Task Totali | Priorità P1 | Priorità P2 | Priorità P3 |
|
|
|-----------|-------------|-------------|-------------|-------------|
|
|
| Backend Reports | 5 | 3 | 2 | 0 |
|
|
| Frontend Reports | 4 | 3 | 1 | 0 |
|
|
| Data Visualization | 6 | 4 | 2 | 0 |
|
|
| Scenario Comparison | 4 | 3 | 1 | 0 |
|
|
| Dark/Light Mode | 4 | 0 | 4 | 0 |
|
|
| QA E2E Testing | 4 | 0 | 0 | 4 |
|
|
| **TOTALE** | **27** | **13** | **10** | **4** |
|
|
|
|
---
|
|
|
|
## 🎯 Obiettivi v0.4.0 (In Progress)
|
|
|
|
**Goal:** Report Generation, Scenario Comparison, Data Visualization, Dark Mode, E2E Testing
|
|
|
|
### Target
|
|
- [ ] Generazione report PDF/CSV
|
|
- [ ] Confronto scenari side-by-side
|
|
- [ ] Grafici interattivi (Recharts)
|
|
- [ ] Dark/Light mode toggle
|
|
- [ ] Testing E2E completo
|
|
|
|
### Metriche Target
|
|
- Test coverage: 70%
|
|
- Feature complete: v0.4.0 (27 task)
|
|
- Performance: <3s report generation
|
|
- Timeline: 2-3 settimane
|
|
|
|
---
|
|
|
|
## 🚧 Blocchi/Issue
|
|
|
|
| ID | Problema | Impatto | Soluzione Proposta | Stato |
|
|
|----|----------|---------|-------------------|-------|
|
|
| - | Nessun blocco attuale | - | - | ✅ OK |
|
|
|
|
---
|
|
|
|
## 📝 Decisioni Prese
|
|
|
|
| Data | Decisione | Motivazione | Impatto |
|
|
|------|-----------|-------------|---------|
|
|
| 2026-04-07 | v0.4.0 Kanban Created | Dettagliata pianificazione 27 task | Tracciamento ✅ |
|
|
| 2026-04-07 | Priorità P1 = 13 task | Feature critiche identificate | Focus Week 1-2 |
|
|
| 2026-04-07 | Timeline 2-3 settimane | Stima realistica con buffer | Deadline flessibile |
|
|
|
|
---
|
|
|
|
## 📈 Metriche
|
|
|
|
### Versione v0.3.0 (Completata)
|
|
- **Task pianificate:** 32
|
|
- **Task completate:** 32
|
|
- **Task in progress:** 0
|
|
- **Task bloccate:** 0
|
|
|
|
### Versione v0.4.0 (Pianificata)
|
|
- **Task pianificate:** 27
|
|
- **Task completate:** 0
|
|
- **Task in progress:** 0
|
|
- **Task bloccate:** 0
|
|
- **Priorità P1:** 13 (48%)
|
|
- **Priorità P2:** 10 (37%)
|
|
- **Priorità P3:** 4 (15%)
|
|
|
|
### Qualità v0.3.0
|
|
- **Test Coverage:** ~45% (5/5 test v0.1 + nuovi tests)
|
|
- **Test passanti:** ✅ Tutti
|
|
- **Linting:** ✅ Ruff configurato
|
|
- **Type Check:** ✅ TypeScript strict mode
|
|
- **Build:** ✅ Frontend builda senza errori
|
|
|
|
### Qualità Target v0.4.0
|
|
- **Test Coverage:** 70%
|
|
- **E2E Tests:** 4 suite complete
|
|
- **Visual Regression:** Baseline stabilita
|
|
- **Zero Regressioni:** v0.3.0 features
|
|
|
|
### Codice v0.3.0
|
|
- **Linee codice backend:** ~2500
|
|
- **Linee codice frontend:** ~3500
|
|
- **Linee test:** ~500
|
|
- **Componenti UI:** 15+
|
|
- **API Endpoints:** 10
|
|
|
|
---
|
|
|
|
## 📋 Risorse
|
|
|
|
### Documentazione
|
|
- **PRD:** `/home/google/Sources/LucaSacchiNet/mockupAWS/export/prd.md`
|
|
- **Architettura:** `/home/google/Sources/LucaSacchiNet/mockupAWS/export/architecture.md`
|
|
- **Kanban v0.4.0:** `/home/google/Sources/LucaSacchiNet/mockupAWS/export/kanban-v0.4.0.md` ⭐ **NUOVO**
|
|
- **Progress:** `/home/google/Sources/LucaSacchiNet/mockupAWS/export/progress.md`
|
|
- **Planning v0.4.0:** `/home/google/Sources/LucaSacchiNet/mockupAWS/prompt/prompt-v0.4.0-planning.md`
|
|
|
|
### Codice
|
|
- **Backend:** `/home/google/Sources/LucaSacchiNet/mockupAWS/src/`
|
|
- **Frontend:** `/home/google/Sources/LucaSacchiNet/mockupAWS/frontend/src/`
|
|
- **Test:** `/home/google/Sources/LucaSacchiNet/mockupAWS/test/`
|
|
- **Migrazioni:** `/home/google/Sources/LucaSacchiNet/mockupAWS/alembic/versions/`
|
|
|
|
### Team
|
|
- **Configurazioni:** `/home/google/Sources/LucaSacchiNet/mockupAWS/.opencode/agents/`
|
|
|
|
---
|
|
|
|
## 📝 Log Attività
|
|
|
|
### 2026-04-07 - v0.4.0 Kanban Created
|
|
|
|
**Attività Completate:**
|
|
- ✅ Creazione kanban-v0.4.0.md con 27 task dettagliati
|
|
- ✅ Aggiornamento progress.md con sezione v0.4.0
|
|
- ✅ Definizione timeline 2-3 settimane
|
|
- ✅ Assegnazione task a team members
|
|
- ✅ Identificazione critical path
|
|
|
|
**Team v0.4.0:**
|
|
- @spec-architect: ✅ Kanban completato
|
|
- @backend-dev: ⏳ 5 task pending (Week 1 focus)
|
|
- @frontend-dev: ⏳ 18 task pending (3 settimane)
|
|
- @qa-engineer: ⏳ 4 task pending (Week 3 focus)
|
|
- @devops-engineer: 🟡 Docker verifica in corso
|
|
|
|
**Stato Progetto:**
|
|
- v0.2.0: ✅ COMPLETATA
|
|
- v0.3.0: ✅ COMPLETATA
|
|
- v0.4.0: ⏳ Pianificazione completata - Pronta per inizio
|
|
|
|
**Prossimi passi:**
|
|
1. Completare verifica docker-compose.yml (DEV-004)
|
|
2. Inizio Week 1: BE-RPT-001 (Report Service)
|
|
3. Parallel: FE-VIZ-001 (Recharts Integration) può iniziare
|
|
4. Daily standup per tracciamento progresso
|
|
|
|
---
|
|
|
|
*Documento mantenuto dal team*
|
|
*Ultimo aggiornamento: 2026-04-07*
|