Files
mockupAWS/todo.md
Luca Sacchi Ricciardi 94db0804d1
Some checks failed
E2E Tests / Run E2E Tests (push) Has been cancelled
E2E Tests / Visual Regression Tests (push) Has been cancelled
E2E Tests / Smoke Tests (push) Has been cancelled
feat: complete v0.4.0 implementation - Reports, Charts, Comparison, Dark Mode
Backend (@backend-dev):
- ReportService with PDF/CSV generation (reportlab, pandas)
- Report API endpoints (POST, GET, DELETE, download with rate limiting)
- Professional PDF templates with branding and tables
- Storage management with auto-cleanup

Frontend (@frontend-dev):
- Recharts integration: CostBreakdown, TimeSeries, ComparisonBar
- Scenario comparison: multi-select, compare page with side-by-side layout
- Reports UI: generation form, list with status badges, download
- Dark/Light mode: ThemeProvider, toggle, CSS variables
- Responsive design for all components

QA (@qa-engineer):
- E2E testing setup with Playwright
- 100 test cases across 7 spec files
- Visual regression baselines
- CI/CD workflow configuration
- ES modules fixes

Documentation:
- Add todo.md with testing checklist and future roadmap
- Update kickoff prompt for v0.4.0

27 tasks completed, 100% v0.4.0 delivery

Closes: v0.4.0 milestone
2026-04-07 17:46:47 +02:00

7.6 KiB

TODO - Prossimi Passi mockupAWS

Data: 2026-04-07
Versione: v0.4.0 completata
Stato: Pronta per testing e validazione


Cosa è stato completato oggi

v0.3.0 (Base)

  • Database PostgreSQL con 5 tabelle
  • Backend FastAPI completo (CRUD, Ingest, Metrics)
  • Frontend React (Dashboard, Scenario Detail/Edit)
  • Docker Compose per PostgreSQL
  • Documentazione (README, Architecture, Kanban)

v0.4.0 (Nuove Feature)

  • Backend Reports - PDF/CSV generation (5 task)
  • Frontend Charts - Recharts integration (6 task)
  • Frontend Comparison - Multi-scenario compare (4 task)
  • Frontend Reports UI - Report management (4 task)
  • Frontend Theme - Dark/Light mode (4 task)
  • QA E2E Testing - Playwright setup (4 task)

Totale: 27/27 task v0.4.0 completati


🧪 TESTING IMMEDIATO (Oggi)

1. Verifica Installazione Dipendenze

# Backend
cd /home/google/Sources/LucaSacchiNet/mockupAWS
pip install reportlab pandas slowapi

# Frontend
cd frontend
npm install  # Verifica tutti i pacchetti
npx playwright install chromium  # Se non già fatto

2. Avvio Applicazione

# Terminale 1 - Backend
cd /home/google/Sources/LucaSacchiNet/mockupAWS
uv run uvicorn src.main:app --reload
# Attendi: "Application startup complete"

# Terminale 2 - Frontend
cd /home/google/Sources/LucaSacchiNet/mockupAWS/frontend
npm run dev
# Attendi: "Local: http://localhost:5173/"

3. Test Manuale Feature v0.4.0

Test Charts

  • Apri http://localhost:5173
  • Verifica CostBreakdown chart in Dashboard
  • Crea/Apri uno scenario
  • Verifica TimeSeries chart nel tab Metrics

Test Dark Mode

  • Clicca toggle tema in Header
  • Verifica switch Light/Dark/System
  • Controlla che tutti i componenti cambino tema
  • Verifica charts si adattino al tema

Test Comparison

  • Vai a Dashboard (lista scenari)
  • Seleziona 2-4 scenari con checkbox
  • Clicca "Compare Selected"
  • Verifica pagina Compare con:
    • Side-by-side layout
    • Summary cards per scenario
    • Comparison table con delta
    • Bar chart comparativo

Test Reports

  • Apri uno scenario
  • Clicca tab "Reports"
  • Compila form:
    • Seleziona formato PDF
    • Check "include_logs"
    • Seleziona sezioni
  • Clicca "Generate"
  • Attendi status cambi in "Completed"
  • Clicca Download e verifica file
  • Ripeti per formato CSV

Test E2E

cd /home/google/Sources/LucaSacchiNet/mockupAWS/frontend

# Test base (senza backend)
npm run test:e2e -- setup-verification.spec.ts

# Test completi (con backend running)
npm run test:e2e

# Con UI per debug
npm run test:e2e:ui

🔧 VERIFICHE TECNICHE

Backend API Test

# 1. Health check
curl http://localhost:8000/health

# 2. Lista scenari
curl http://localhost:8000/api/v1/scenarios

# 3. Generazione report (sostituisci {scenario-id})
curl -X POST http://localhost:8000/api/v1/scenarios/{id}/reports \
  -H "Content-Type: application/json" \
  -d '{
    "format": "pdf",
    "include_logs": true,
    "sections": ["summary", "costs", "metrics"]
  }'

# 4. Check status report (sostituisci {report-id})
curl http://localhost:8000/api/v1/reports/{id}/status

# 5. Download report
curl http://localhost:8000/api/v1/reports/{id}/download \
  --output report.pdf

Verifica File System

  • Directory storage/reports/ creata automaticamente
  • File PDF generati in storage/reports/{scenario-id}/
  • File CSV generati correttamente
  • Cleanup automatico funziona (testa con file vecchi)

Performance Check

  • Report PDF generato in <3 secondi
  • Charts render senza lag
  • Comparison page carica <2 secondi
  • Dark mode switch istantaneo

🐛 DEBUGGING COMUNE

Problema: Backend non parte

# Verifica database
docker ps | grep postgres
# Se non running: docker-compose up -d postgres

# Verifica migrazioni
uv run alembic upgrade head

# Verifica dipendenze
pip install reportlab pandas slowapi

Problema: Frontend build error

cd frontend
rm -rf node_modules package-lock.json
npm install
npm run build

Problema: E2E tests falliscono

# Verifica backend sia su port 8000
curl http://localhost:8000/api/v1/scenarios

# Installa browsers
npx playwright install chromium

# Aggiorna snapshots
UPDATE_BASELINE=true npx playwright test visual-regression.spec.ts

Problema: PDF/CSV non generati

  • Verifica directory storage/reports/ esista
  • Controlla permessi scrittura
  • Verifica in logs: tail -f storage/logs/app.log

📋 DOCUMENTAZIONE DA AGGIORNARE

README.md

  • Aggiornare sezione "Caratteristiche Principali" con v0.4.0
  • Aggiungere screenshots dei nuovi charts
  • Documentare Report Generation
  • Aggiungere sezione Dark Mode
  • Aggiornare Roadmap (v0.4.0 completata)

Architecture.md

  • Aggiornare sezione "7.2 Frontend" con Charts e Theme
  • Aggiungere sezione Report Generation
  • Aggiornare Project Structure

Kanban

  • Spostare task v0.4.0 da "In Progress" a "Completed"
  • Aggiungere note data completamento

Changelog

  • Creare CHANGELOG.md se non esiste
  • Aggiungere v0.4.0 entry con lista feature

🚀 RILASCIO v0.4.0

Pre-Release Checklist

  • Tutti i test passano (backend + frontend + e2e)
  • Code review completata
  • Documentazione aggiornata
  • Performance test OK
  • Nessun errore console browser
  • Nessun errore server logs

Tag e Release

# 1. Commit finale
git add -A
git commit -m "release: v0.4.0 - Reports, Charts, Comparison, Dark Mode"

# 2. Tag
git tag -a v0.4.0 -m "Release v0.4.0 - Reports, Charts & Comparison"
git push origin v0.4.0

# 3. Push main
git push origin main

Annuncio Team

Comunicare al team:

  • v0.4.0 completata e rilasciata
  • Link alla release
  • Prossimi passi (v0.5.0 o v1.0.0)

🎯 PIANIFICAZIONE v0.5.0 / v1.0.0

Candidati per prossima release:

v0.5.0 (Feature Enhancement)

  • Autenticazione JWT completa
  • API Keys management
  • Report scheduling (cron jobs)
  • Email notifications
  • Advanced filters in scenario list
  • Export comparison as PDF

v1.0.0 (Production Ready)

  • Autenticazione e autorizzazione completa
  • Multi-utente support
  • Database migrations automatiche
  • Backup/restore system
  • Production deployment guide
  • Comprehensive documentation
  • Performance optimization
  • Security audit

💡 MIGLIORAMENTI FUTURI (Backlog)

Performance

  • Caching Redis per metriche
  • Lazy loading charts
  • Virtual scrolling per lista scenari
  • Optimistic UI updates

UX/UI

  • Onboarding tutorial
  • Keyboard shortcuts
  • Advanced search/filter
  • Bulk operations
  • Drag & drop scenario reordering

Analytics

  • Usage analytics dashboard
  • Cost trend predictions
  • Anomaly detection in logs
  • Automated insights

Integrazioni

  • AWS CloudWatch integration
  • Slack notifications
  • Webhook support
  • REST API versioning

📞 SUPPORTO

Risorse

  • Documentation: /home/google/Sources/LucaSacchiNet/mockupAWS/export/
  • API Docs: http://localhost:8000/docs (quando backend running)
  • Kanban: export/kanban-v0.4.0.md
  • Prompts: /home/google/Sources/LucaSacchiNet/mockupAWS/prompt/

Team

  • @backend-dev - Report generation questions
  • @frontend-dev - UI/UX questions
  • @qa-engineer - Testing questions
  • @spec-architect - Architecture decisions

Ultimo aggiornamento: 2026-04-07
Versione corrente: v0.4.0
Prossima milestone: v1.0.0 (Production)