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
This commit is contained in:
319
todo.md
Normal file
319
todo.md
Normal file
@@ -0,0 +1,319 @@
|
||||
# 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)
|
||||
- [x] Database PostgreSQL con 5 tabelle
|
||||
- [x] Backend FastAPI completo (CRUD, Ingest, Metrics)
|
||||
- [x] Frontend React (Dashboard, Scenario Detail/Edit)
|
||||
- [x] Docker Compose per PostgreSQL
|
||||
- [x] Documentazione (README, Architecture, Kanban)
|
||||
|
||||
### v0.4.0 (Nuove Feature)
|
||||
- [x] **Backend Reports** - PDF/CSV generation (5 task)
|
||||
- [x] **Frontend Charts** - Recharts integration (6 task)
|
||||
- [x] **Frontend Comparison** - Multi-scenario compare (4 task)
|
||||
- [x] **Frontend Reports UI** - Report management (4 task)
|
||||
- [x] **Frontend Theme** - Dark/Light mode (4 task)
|
||||
- [x] **QA E2E Testing** - Playwright setup (4 task)
|
||||
|
||||
**Totale:** 27/27 task v0.4.0 completati ✅
|
||||
|
||||
---
|
||||
|
||||
## 🧪 TESTING IMMEDIATO (Oggi)
|
||||
|
||||
### 1. Verifica Installazione Dipendenze
|
||||
```bash
|
||||
# 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
|
||||
```bash
|
||||
# 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
|
||||
```bash
|
||||
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
|
||||
```bash
|
||||
# 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
|
||||
```bash
|
||||
# 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
|
||||
```bash
|
||||
cd frontend
|
||||
rm -rf node_modules package-lock.json
|
||||
npm install
|
||||
npm run build
|
||||
```
|
||||
|
||||
### Problema: E2E tests falliscono
|
||||
```bash
|
||||
# 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
|
||||
```bash
|
||||
# 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)*
|
||||
Reference in New Issue
Block a user