Kanban v0.4.0 - Reports, Charts & Comparison
Progetto: mockupAWS - Backend Profiler & Cost Estimator
Versione Target: v0.4.0
Focus: Report Generation, Data Visualization, Scenario Comparison
Timeline: 2-3 settimane
Priorità: P1 (High)
Data Creazione: 2026-04-07
📊 Panoramica
| Metrica |
Valore |
| Task Totali |
27 |
| Backend Tasks |
5 (BE-RPT-001 → 005) |
| Frontend Tasks |
18 (FE-RPT-001 → 004, FE-VIZ-001 → 006, FE-CMP-001 → 004, FE-THM-001 → 004) |
| QA Tasks |
4 (QA-E2E-001 → 004) |
| Priorità P1 |
15 |
| Priorità P2 |
8 |
| Priorità P3 |
4 |
| Effort Totale Stimato |
~M (Medium) |
🏷️ Legenda
Priorità
- P1 (High): Feature critiche, bloccano release
- P2 (Medium): Feature importanti, ma non bloccanti
- P3 (Low): Nice-to-have, possono essere rimandate
Effort
- S (Small): 1-2 giorni, task ben definito
- M (Medium): 2-4 giorni, richiede ricerca/testing
- L (Large): 4-6 giorni, task complesso con dipendenze
Stato
- ⏳ Pending: Non ancora iniziato
- 🟡 In Progress: In lavorazione
- 🟢 Completed: Completato e testato
- 🔴 Blocked: Bloccato da dipendenze o issue
🗂️ BACKEND - Report Generation (5 Tasks)
BE-RPT-001: Report Service Implementation
| Campo |
Valore |
| ID |
BE-RPT-001 |
| Titolo |
Report Service Implementation |
| Descrizione |
Implementare ReportService con metodi per generazione PDF, CSV e compilazione metriche. Template professionale con logo, header, footer, pagine numerate. |
| Priorità |
P1 |
| Effort |
L (4-6 giorni) |
| Assegnato |
@backend-dev |
| Dipendenze |
v0.3.0 completata, DB-006 (Reports Table) |
| Blocca |
BE-RPT-002, BE-RPT-003, FE-RPT-001 |
| Stato |
⏳ Pending |
| Note |
Librerie: reportlab (PDF), pandas (CSV). Includere: summary scenario, cost breakdown, metriche aggregate, top 10 logs, PII violations |
BE-RPT-002: Report Generation API
| Campo |
Valore |
| ID |
BE-RPT-002 |
| Titolo |
Report Generation API |
| Descrizione |
Endpoint POST /api/v1/scenarios/{id}/reports con supporto PDF/CSV, date range, sezioni selezionabili. Async task con progress tracking. |
| Priorità |
P1 |
| Effort |
M (2-4 giorni) |
| Assegnato |
@backend-dev |
| Dipendenze |
BE-RPT-001 |
| Blocca |
BE-RPT-003, FE-RPT-001, FE-RPT-002 |
| Stato |
⏳ Pending |
| Note |
Response 202 Accepted con report_id. Background task con Celery oppure async FastAPI. Progress via GET /api/v1/reports/{id}/status |
BE-RPT-003: Report Download API
| Campo |
Valore |
| ID |
BE-RPT-003 |
| Titolo |
Report Download API |
| Descrizione |
Endpoint GET /api/v1/reports/{id}/download con file stream, headers corretti, Content-Disposition, rate limiting. |
| Priorità |
P1 |
| Effort |
S (1-2 giorni) |
| Assegnato |
@backend-dev |
| Dipendenze |
BE-RPT-002 |
| Blocca |
FE-RPT-003 |
| Stato |
⏳ Pending |
| Note |
Mime types: application/pdf, text/csv. Rate limiting: 10 download/minuto |
BE-RPT-004: Report Storage
| Campo |
Valore |
| ID |
BE-RPT-004 |
| Titolo |
Report Storage |
| Descrizione |
Gestione storage file reports in filesystem (path: ./storage/reports/{scenario_id}/{report_id}.{format}), cleanup automatico dopo 30 giorni. |
| Priorità |
P2 |
| Effort |
S (1-2 giorni) |
| Assegnato |
@backend-dev |
| Dipendenze |
BE-RPT-001 |
| Blocca |
- |
| Stato |
⏳ Pending |
| Note |
Max file size: 50MB. Cleanup configurabile. Tabella reports già esistente (DB-006) |
BE-RPT-005: Report Templates
| Campo |
Valore |
| ID |
BE-RPT-005 |
| Titolo |
Report Templates |
| Descrizione |
Template HTML per PDF (Jinja2 + WeasyPrint o ReportLab). Stile professionale con brand mockupAWS, colori coerenti (#0066CC), font Inter/Roboto. |
| Priorità |
P2 |
| Effort |
M (2-4 giorni) |
| Assegnato |
@backend-dev |
| Dipendenze |
BE-RPT-001 |
| Blocca |
FE-RPT-004 |
| Stato |
⏳ Pending |
| Note |
Header con logo, tabelle formattate con zebra striping, pagine numerate |
🎨 FRONTEND - Report UI (4 Tasks)
FE-RPT-001: Report Generation UI
| Campo |
Valore |
| ID |
FE-RPT-001 |
| Titolo |
Report Generation UI |
| Descrizione |
Nuova pagina /scenarios/:id/reports con form per generazione report: select formato (PDF/CSV), checkbox opzioni, date range picker, preview dati inclusi. |
| Priorità |
P1 |
| Effort |
M (2-4 giorni) |
| Assegnato |
@frontend-dev |
| Dipendenze |
BE-RPT-002 (API disponibile) |
| Blocca |
FE-RPT-002, FE-RPT-004 |
| Stato |
⏳ Pending |
| Note |
Bottone Generate con loading state. Toast notification quando report pronto |
FE-RPT-002: Reports List
| Campo |
Valore |
| ID |
FE-RPT-002 |
| Titolo |
Reports List |
| Descrizione |
Tabella reports generati per scenario con colonne: Data, Formato, Dimensione, Stato, Azioni. Azioni: Download, Delete, Rigenera. |
| Priorità |
P1 |
| Effort |
M (2-4 giorni) |
| Assegnato |
@frontend-dev |
| Dipendenze |
FE-RPT-001, BE-RPT-002 |
| Blocca |
FE-RPT-003 |
| Stato |
⏳ Pending |
| Note |
Badge stato: Pending, Processing, Completed, Failed. Sorting per data (newest first). Pagination se necessario |
FE-RPT-003: Report Download Handler
| Campo |
Valore |
| ID |
FE-RPT-003 |
| Titolo |
Report Download Handler |
| Descrizione |
Download file con nome appropriato {scenario_name}_YYYY-MM-DD.{format}. Axios con responseType: 'blob', ObjectURL per trigger download, cleanup. |
| Priorità |
P1 |
| Effort |
S (1-2 giorni) |
| Assegnato |
@frontend-dev |
| Dipendenze |
FE-RPT-002, BE-RPT-003 (API download) |
| Blocca |
- |
| Stato |
⏳ Pending |
| Note |
Error handling con toast. Cleanup dopo download per evitare memory leak |
FE-RPT-004: Report Preview
| Campo |
Valore |
| ID |
FE-RPT-004 |
| Titolo |
Report Preview |
| Descrizione |
Preview CSV in tabella (primi 100 record), info box con summary prima di generare, stima dimensione file e costo stimato. |
| Priorità |
P2 |
| Effort |
S (1-2 giorni) |
| Assegnato |
@frontend-dev |
| Dipendenze |
FE-RPT-001 |
| Blocca |
- |
| Stato |
⏳ Pending |
| Note |
UX: aiutare utente a capire cosa sta per esportare prima di generare |
📊 FRONTEND - Data Visualization (6 Tasks)
FE-VIZ-001: Recharts Integration
| Campo |
Valore |
| ID |
FE-VIZ-001 |
| Titolo |
Recharts Integration |
| Descrizione |
Installazione e setup recharts, date-fns. Setup tema coerente con Tailwind/shadcn, color palette, responsive containers. |
| Priorità |
P1 |
| Effort |
M (2-4 giorni) |
| Assegnato |
@frontend-dev |
| Dipendenze |
FE-002 (Tailwind + shadcn), v0.3.0 completata |
| Blocca |
FE-VIZ-002, FE-VIZ-003, FE-VIZ-004, FE-VIZ-005, FE-VIZ-006, FE-CMP-004 |
| Stato |
⏳ Pending |
| Note |
npm install recharts date-fns. Tema dark/light support, responsive containers per tutti i grafici |
FE-VIZ-002: Cost Breakdown Chart
| Campo |
Valore |
| ID |
FE-VIZ-002 |
| Titolo |
Cost Breakdown Chart |
| Descrizione |
Pie Chart o Donut Chart per costo per servizio (SQS, Lambda, Bedrock). Percentuali visualizzate, legend interattiva, tooltip con valori esatti. |
| Priorità |
P1 |
| Effort |
M (2-4 giorni) |
| Assegnato |
@frontend-dev |
| Dipendenze |
FE-VIZ-001 |
| Blocca |
- |
| Stato |
⏳ Pending |
| Note |
Posizione: Dashboard e Scenario Detail. Legend toggle servizi. Performance: lazy load se necessario |
FE-VIZ-003: Time Series Chart
| Campo |
Valore |
| ID |
FE-VIZ-003 |
| Titolo |
Time Series Chart |
| Descrizione |
Area Chart o Line Chart per metriche nel tempo (requests, costi cumulativi). X-axis timestamp, Y-axis valore, multi-line per metriche diverse. |
| Priorità |
P1 |
| Effort |
M (2-4 giorni) |
| Assegnato |
@frontend-dev |
| Dipendenze |
FE-VIZ-001 |
| Blocca |
- |
| Stato |
⏳ Pending |
| Note |
Zoom e pan se supportato. Posizione: Scenario Detail (tab Metrics). Performance con molti dati |
FE-VIZ-004: Comparison Bar Chart
| Campo |
Valore |
| ID |
FE-VIZ-004 |
| Titolo |
Comparison Bar Chart |
| Descrizione |
Grouped Bar Chart per confronto metriche tra scenari. X-axis nome scenario, Y-axis valore metrica, selettore metrica. |
| Priorità |
P1 |
| Effort |
M (2-4 giorni) |
| Assegnato |
@frontend-dev |
| Dipendenze |
FE-VIZ-001, FE-CMP-002 (Compare page) |
| Blocca |
- |
| Stato |
⏳ Pending |
| Note |
Metriche: Costo totale, Requests, SQS blocks, Tokens. Posizione: Compare Page |
FE-VIZ-005: Metrics Distribution Chart
| Campo |
Valore |
| ID |
FE-VIZ-005 |
| Titolo |
Metrics Distribution Chart |
| Descrizione |
Histogram o Box Plot per distribuzione dimensioni log, tempi risposta. Analisi statistica dati. |
| Priorità |
P2 |
| Effort |
M (2-4 giorni) |
| Assegnato |
@frontend-dev |
| Dipendenze |
FE-VIZ-001 |
| Blocca |
- |
| Stato |
⏳ Pending |
| Note |
Posizione: Scenario Detail (tab Analysis). Feature nice-to-have per analisi approfondita |
FE-VIZ-006: Dashboard Overview Charts
| Campo |
Valore |
| ID |
FE-VIZ-006 |
| Titolo |
Dashboard Overview Charts |
| Descrizione |
Mini charts nella lista scenari (sparklines), ultimi 7 giorni di attività, quick stats con trend indicator (↑ ↓). |
| Priorità |
P2 |
| Effort |
S (1-2 giorni) |
| Assegnato |
@frontend-dev |
| Dipendenze |
FE-VIZ-001, FE-006 (Dashboard Page) |
| Blocca |
- |
| Stato |
⏳ Pending |
| Note |
Migliora UX dashboard con dati visivi immediati. Sparklines: piccoli grafici inline |
🔍 FRONTEND - Scenario Comparison (4 Tasks)
FE-CMP-001: Comparison Selection UI
| Campo |
Valore |
| ID |
FE-CMP-001 |
| Titolo |
Comparison Selection UI |
| Descrizione |
Checkbox multi-selezione nella lista scenari, bottone "Compare Selected" (enabled quando 2-4 selezionati), modal confirmation. |
| Priorità |
P1 |
| Effort |
S (1-2 giorni) |
| Assegnato |
@frontend-dev |
| Dipendenze |
FE-006 (Dashboard Page) |
| Blocca |
FE-CMP-002 |
| Stato |
⏳ Pending |
| Note |
Max 4 scenari per confronto. Visualizzazione "Comparison Mode" indicator |
FE-CMP-002: Compare Page
| Campo |
Valore |
| ID |
FE-CMP-002 |
| Titolo |
Compare Page |
| Descrizione |
Nuova route /compare con layout side-by-side (2 colonne per 2 scenari, 4 per 4). Responsive: mobile scroll orizzontale. |
| Priorità |
P1 |
| Effort |
M (2-4 giorni) |
| Assegnato |
@frontend-dev |
| Dipendenze |
FE-CMP-001 |
| Blocca |
FE-CMP-003, FE-CMP-004, FE-VIZ-004 |
| Stato |
⏳ Pending |
| Note |
Header con nome scenario, regione, stato. Summary cards affiancate |
FE-CMP-003: Comparison Tables
| Campo |
Valore |
| ID |
FE-CMP-003 |
| Titolo |
Comparison Tables |
| Descrizione |
Tabella dettagliata con metriche affiancate. Color coding: verde (migliore), rosso (peggiore), grigio (neutro). Delta column con trend arrow. |
| Priorità |
P1 |
| Effort |
M (2-4 giorni) |
| Assegnato |
@frontend-dev |
| Dipendenze |
FE-CMP-002 |
| Blocca |
- |
| Stato |
⏳ Pending |
| Note |
Export comparison button. Baseline = primo scenario. Ordinamento per costo totale |
FE-CMP-004: Visual Comparison
| Campo |
Valore |
| ID |
FE-CMP-004 |
| Titolo |
Visual Comparison |
| Descrizione |
Grouped bar chart per confronto visivo. Highlight scenario selezionato, toggle metriche da confrontare. |
| Priorità |
P2 |
| Effort |
S (1-2 giorni) |
| Assegnato |
@frontend-dev |
| Dipendenze |
FE-CMP-002, FE-VIZ-001 |
| Blocca |
- |
| Stato |
⏳ Pending |
| Note |
Integrazione con grafici già esistenti. UX: toggle per mostrare/nascondere metriche |
🌓 FRONTEND - Dark/Light Mode (4 Tasks)
FE-THM-001: Theme Provider Setup
| Campo |
Valore |
| ID |
FE-THM-001 |
| Titolo |
Theme Provider Setup |
| Descrizione |
Theme context o Zustand store per gestione tema. Persistenza in localStorage. Default: system preference (media query). Toggle button in Header. |
| Priorità |
P2 |
| Effort |
S (1-2 giorni) |
| Assegnato |
@frontend-dev |
| Dipendenze |
FE-002 (Tailwind + shadcn), FE-005 (Layout Components) |
| Blocca |
FE-THM-002, FE-THM-003, FE-THM-004 |
| Stato |
⏳ Pending |
| Note |
npm install zustand (opzionale). Toggle istantaneo, no flash on load |
FE-THM-002: Tailwind Dark Mode Configuration
| Campo |
Valore |
| ID |
FE-THM-002 |
| Titolo |
Tailwind Dark Mode Configuration |
| Descrizione |
Aggiornare tailwind.config.js con darkMode: 'class'. Wrapper component con dark class sul root. Transition smooth tra temi. |
| Priorità |
P2 |
| Effort |
S (1-2 giorni) |
| Assegnato |
@frontend-dev |
| Dipendenze |
FE-THM-001 |
| Blocca |
FE-THM-003 |
| Stato |
⏳ Pending |
| Note |
CSS transition per cambio tema smooth. No jarring flash |
FE-THM-003: Component Theme Support
| Campo |
Valore |
| ID |
FE-THM-003 |
| Titolo |
Component Theme Support |
| Descrizione |
Verificare tutti i componenti shadcn/ui supportino dark mode. Aggiornare classi custom per dark variant: bg, text, borders, shadows. |
| Priorità |
P2 |
| Effort |
M (2-4 giorni) |
| Assegnato |
@frontend-dev |
| Dipendenze |
FE-THM-002 |
| Blocca |
FE-THM-004 |
| Stato |
⏳ Pending |
| Note |
bg-white → bg-white dark:bg-gray-900, text-gray-900 → text-gray-900 dark:text-white. Hover states |
FE-THM-004: Chart Theming
| Campo |
Valore |
| ID |
FE-THM-004 |
| Titolo |
Chart Theming |
| Descrizione |
Recharts tema dark (colori assi, grid, tooltip). Colori serie dati visibili su entrambi i temi. Background chart trasparente o temizzato. |
| Priorità |
P2 |
| Effort |
S (1-2 giorni) |
| Assegnato |
@frontend-dev |
| Dipendenze |
FE-VIZ-001 (Recharts integration), FE-THM-003 |
| Blocca |
- |
| Stato |
⏳ Pending |
| Note |
Testare contrasto in dark mode. Colori serie devono essere visibili in entrambi i temi |
🧪 QA - E2E Testing (4 Tasks)
QA-E2E-001: Playwright Setup
| Campo |
Valore |
| ID |
QA-E2E-001 |
| Titolo |
Playwright Setup |
| Descrizione |
Installazione @playwright/test, configurazione playwright.config.ts. Scripts: test:e2e, test:e2e:ui, test:e2e:debug. Setup CI. |
| Priorità |
P3 |
| Effort |
M (2-4 giorni) |
| Assegnato |
@qa-engineer |
| Dipendenze |
Frontend stable, v0.4.0 feature complete |
| Blocca |
QA-E2E-002, QA-E2E-003, QA-E2E-004 |
| Stato |
⏳ Pending |
| Note |
npm install @playwright/test. GitHub Actions oppure CI locale. Configurazione browser, viewport, baseURL |
QA-E2E-002: Test Scenarios
| Campo |
Valore |
| ID |
QA-E2E-002 |
| Titolo |
Test Scenarios |
| Descrizione |
Test: creazione scenario completo, ingestione log e verifica metriche, generazione e download report, navigazione tra pagine, responsive design. |
| Priorità |
P3 |
| Effort |
L (4-6 giorni) |
| Assegnato |
@qa-engineer |
| Dipendenze |
QA-E2E-001 |
| Blocca |
- |
| Stato |
⏳ Pending |
| Note |
Copertura: user flows principali. Mobile viewport testing. Assert su metriche e costi |
QA-E2E-003: Test Data
| Campo |
Valore |
| ID |
QA-E2E-003 |
| Titolo |
Test Data |
| Descrizione |
Fixtures per scenari di test, seed database per test, cleanup dopo ogni test. Parallel execution config. |
| Priorità |
P3 |
| Effort |
M (2-4 giorni) |
| Assegnato |
@qa-engineer |
| Dipendenze |
QA-E2E-001 |
| Blocca |
- |
| Stato |
⏳ Pending |
| Note |
Isolamento test: ogni test con dati puliti. Cleanup automatico per evitare interferenze |
QA-E2E-004: Visual Regression
| Campo |
Valore |
| ID |
QA-E2E-004 |
| Titolo |
Visual Regression |
| Descrizione |
Screenshot testing per UI critica. Baseline images in repo. Fallimento test se diff > threshold. |
| Priorità |
P3 |
| Effort |
M (2-4 giorni) |
| Assegnato |
@qa-engineer |
| Dipendenze |
QA-E2E-001 |
| Blocca |
- |
| Stato |
⏳ Pending |
| Note |
Componenti critici: Dashboard, Scenario Detail, Report Generation, Compare Page |
📅 Timeline Dettagliata
Week 1: Foundation & Reports (Giorni 1-5)
| Giorno |
Task |
Focus |
Output |
| Day 1 |
BE-RPT-001 (inizio) |
Report Service Implementation |
Setup librerie, PDF base |
| Day 2 |
BE-RPT-001 (fine), BE-RPT-002 (inizio) |
PDF/CSV generation, API design |
Service completo, API struttura |
| Day 3 |
BE-RPT-002 (fine), BE-RPT-003, FE-RPT-001 (inizio) |
API generation, Download, UI |
Backend reports completo |
| Day 4 |
FE-RPT-001 (fine), FE-RPT-002 (inizio), BE-RPT-004, BE-RPT-005 |
Report UI, Storage, Templates |
Frontend reports funzionante |
| Day 5 |
FE-RPT-002 (fine), FE-RPT-003, FE-RPT-004 |
Reports List, Download, Preview |
Feature Reports completa 🎯 |
Week 1 Milestone: Reports feature funzionante end-to-end
Week 2: Charts & Comparison (Giorni 6-10)
| Giorno |
Task |
Focus |
Output |
| Day 6 |
FE-VIZ-001 |
Recharts Integration |
Setup completo, tema ready |
| Day 7 |
FE-VIZ-002, FE-VIZ-003 |
Cost Breakdown, Time Series |
2 grafici dashboard |
| Day 8 |
FE-VIZ-004, BE-CMP-001 (nota 1) |
Comparison Chart, Comparison API |
Confronto backend |
| Day 9 |
FE-CMP-001, FE-CMP-002, FE-CMP-003 |
Selection UI, Compare Page |
Pagina confronto |
| Day 10 |
FE-VIZ-005, FE-VIZ-006, FE-CMP-004 |
Additional Charts, Visual Comparison |
Charts completo 🎯 |
Nota 1: I task BE-CMP-001, 002, 003 sono menzionati nel planning come backend comparison API, ma il documento non li dettaglia completamente. Assunti come P2.
Week 2 Milestone: Charts e Comparison funzionanti
Week 3: Polish & Testing (Giorni 11-15)
| Giorno |
Task |
Focus |
Output |
| Day 11 |
FE-THM-001, FE-THM-002 |
Theme Provider, Tailwind Config |
Dark mode base |
| Day 12 |
FE-THM-003, FE-THM-004 |
Component Themes, Chart Theming |
Dark mode completo |
| Day 13 |
QA-E2E-001, QA-E2E-002 (inizio) |
Playwright Setup, Test Scenarios |
E2E base |
| Day 14 |
QA-E2E-002 (fine), QA-E2E-003, QA-E2E-004 |
Test Data, Visual Regression |
Tests completi |
| Day 15 |
Bug fixing, Performance, Docs |
Polish, CHANGELOG, Demo |
Release v0.4.0 🚀 |
Week 3 Milestone: v0.4.0 Release Ready
🔗 Dependency Graph
Critical Path
Task Senza Dipendenze (Possono Iniziare Subito)
- BE-RPT-001
- FE-VIZ-001 (se shadcn già pronto)
- FE-CMP-001 (selezioni UI può iniziare)
- FE-THM-001 (theme provider)
Task Bloccanti Molteplici
| Task |
Blocca |
| BE-RPT-001 |
BE-RPT-002, BE-RPT-003, FE-RPT-001 |
| BE-RPT-002 |
BE-RPT-003, FE-RPT-001, FE-RPT-002 |
| FE-VIZ-001 |
FE-VIZ-002, FE-VIZ-003, FE-VIZ-004, FE-VIZ-005, FE-VIZ-006, FE-CMP-004 |
| FE-CMP-002 |
FE-CMP-003, FE-CMP-004, FE-VIZ-004 |
| QA-E2E-001 |
QA-E2E-002, QA-E2E-003, QA-E2E-004 |
👥 Team Assignments
@backend-dev
| Task |
Effort |
Settimana |
| BE-RPT-001 |
L |
Week 1 |
| BE-RPT-002 |
M |
Week 1 |
| BE-RPT-003 |
S |
Week 1 |
| BE-RPT-004 |
S |
Week 1 |
| BE-RPT-005 |
M |
Week 1 |
Totale: 5 task, ~L effort, Week 1 focus
@frontend-dev
| Task |
Effort |
Settimana |
| FE-RPT-001 |
M |
Week 1 |
| FE-RPT-002 |
M |
Week 1 |
| FE-RPT-003 |
S |
Week 1 |
| FE-RPT-004 |
S |
Week 1 |
| FE-VIZ-001 |
M |
Week 2 |
| FE-VIZ-002 |
M |
Week 2 |
| FE-VIZ-003 |
M |
Week 2 |
| FE-VIZ-004 |
M |
Week 2 |
| FE-VIZ-005 |
M |
Week 2 |
| FE-VIZ-006 |
S |
Week 2 |
| FE-CMP-001 |
S |
Week 2 |
| FE-CMP-002 |
M |
Week 2 |
| FE-CMP-003 |
M |
Week 2 |
| FE-CMP-004 |
S |
Week 2 |
| FE-THM-001 |
S |
Week 3 |
| FE-THM-002 |
S |
Week 3 |
| FE-THM-003 |
M |
Week 3 |
| FE-THM-004 |
S |
Week 3 |
Totale: 18 task, distribuite su 3 settimane
@qa-engineer
| Task |
Effort |
Settimana |
| QA-E2E-001 |
M |
Week 3 |
| QA-E2E-002 |
L |
Week 3 |
| QA-E2E-003 |
M |
Week 3 |
| QA-E2E-004 |
M |
Week 3 |
Totale: 4 task, Week 3 focus
🎯 Acceptance Criteria Checklist
Report Generation
Charts
Comparison
Dark Mode
Testing
🚨 Risks & Mitigations
| Rischio |
Probabilità |
Impatto |
Mitigazione |
Task Coinvolti |
| ReportLab complesso |
Media |
Alto |
Usare WeasyPrint (HTML→PDF) |
BE-RPT-001, BE-RPT-005 |
| Performance charts |
Media |
Medio |
Virtualization, data sampling |
FE-VIZ-002/003/004 |
| Dark mode inconsistente |
Bassa |
Medio |
Audit visivo, design tokens |
FE-THM-003 |
| E2E tests flaky |
Media |
Medio |
Retry logic, deterministic selectors |
QA-E2E-001/002 |
| Scope creep |
Alta |
Medio |
Strict deadline, MVP first |
Tutti |
📝 Notes
Libraries da Installare
Pattern da Seguire
- Report Generation: Async task con status polling
- Charts: Container/Presentational pattern
- Comparison: Derive state, non duplicare dati
- Theme: CSS variables + Tailwind dark mode
Performance Considerations
- Lazy load chart components
- Debounce resize handlers
- Virtualize long lists (reports)
- Cache comparison results
- Optimize re-renders (React.memo)
Versione Kanban: v0.4.0
Data Creazione: 2026-04-07
Ultimo Aggiornamento: 2026-04-07
Autore: @spec-architect