docs: update documentation for v0.4.0 release

- Update README.md with v0.4.0 features and screenshots placeholders
- Update architecture.md with v0.4.0 implementation status
- Update progress.md marking all 27 tasks as completed
- Create CHANGELOG.md with complete release notes
- Add v0.4.0 frontend components and hooks
This commit is contained in:
Luca Sacchi Ricciardi
2026-04-07 18:07:23 +02:00
parent e19ef64085
commit d222d21618
21 changed files with 1024 additions and 313 deletions

View File

@@ -902,7 +902,7 @@ def detect_pii(message: str) -> dict:
| Testing | pytest | ≥8.1 | Test framework |
| HTTP Client | httpx | ≥0.27 | Async HTTP |
### 7.2 Frontend (v0.3.0 Implemented)
### 7.2 Frontend (v0.4.0 Implemented)
| Component | Technology | Version | Purpose | Status |
|-----------|------------|---------|---------|--------|
@@ -910,36 +910,39 @@ def detect_pii(message: str) -> dict:
| Language | TypeScript | ≥5.0 | Type safety | ✅ Implemented |
| Build | Vite | ≥5.0 | Build tool | ✅ Implemented |
| Styling | Tailwind CSS | ≥3.4 | CSS framework | ✅ Implemented |
| Components | shadcn/ui | latest | UI components | ✅ 10+ components |
| Components | shadcn/ui | latest | UI components | ✅ 15+ components |
| Icons | Lucide React | latest | Icon library | ✅ Implemented |
| State | TanStack Query | ≥5.0 | Server state | ✅ React Query v5 |
| HTTP | Axios | ≥1.6 | HTTP client | ✅ With interceptors |
| Routing | React Router | ≥6.0 | Navigation | ✅ Implemented |
| Charts | Recharts | ≥2.0 | Data viz | 🔄 Planned v0.4.0 |
| Forms | React Hook Form | latest | Form management | 🔄 Planned v0.4.0 |
| Validation | Zod | latest | Schema validation | 🔄 Planned v0.4.0 |
| Charts | Recharts | ≥2.0 | Data viz | ✅ Implemented v0.4.0 |
| Theme | next-themes | latest | Dark/Light mode | ✅ Implemented v0.4.0 |
| E2E Testing | Playwright | ≥1.40 | Browser testing | ✅ 100 tests v0.4.0 |
**Note v0.3.0:**
-3 pages complete: Dashboard, ScenarioDetail, ScenarioEdit
- ✅ 10+ shadcn/ui components integrated
**Note v0.4.0:**
-5 pages complete: Dashboard, ScenarioDetail, ScenarioEdit, Compare, Reports
- ✅ 15+ shadcn/ui components integrated
- ✅ Recharts visualization (CostBreakdown, TimeSeries, Comparison charts)
- ✅ Dark/Light mode with system preference detection
- ✅ React Query for data fetching with caching
- ✅ Axios with error interceptors and toast notifications
- ✅ Responsive design with Tailwind CSS
- 🔄 Charts and advanced forms in v0.4.0
- ✅ E2E testing with Playwright (100 test cases)
### 7.3 Infrastructure (v0.3.0 Status)
### 7.3 Infrastructure (v0.4.0 Status)
| Component | Technology | Purpose | Status |
|-----------|------------|---------|--------|
| Container | Docker | Application containers | ✅ PostgreSQL |
| Orchestration | Docker Compose | Multi-container dev | ✅ Dev setup |
| Database | PostgreSQL 15+ | Primary data store | ✅ Running |
| Reverse Proxy | Nginx | SSL, static files | 🔄 Planned v0.4.0 |
| E2E Testing | Playwright | Browser automation | ✅ 100 tests |
| Reverse Proxy | Nginx | SSL, static files | 🔄 Planned v1.0.0 |
| Process Manager | systemd / PM2 | Production process mgmt | 🔄 Planned v1.0.0 |
**Docker Services:**
```yaml
# Current (v0.3.0)
# Current (v0.4.0)
- postgres: PostgreSQL 15 with healthcheck
Status: ✅ Tested and running
Ports: 5432:5432
@@ -995,44 +998,71 @@ mockupAWS/
│ ├── cost_calculator.py # AWS cost calculation
│ └── ingest_service.py # Log ingestion orchestration
├── frontend/ # Frontend React (v0.3.0)
├── frontend/ # Frontend React (v0.4.0)
│ ├── src/
│ │ ├── App.tsx # Root component with routing
│ │ ├── main.tsx # React entry point
│ │ ├── components/
│ │ │ ├── layout/ # Layout components
│ │ │ │ ├── Header.tsx
│ │ │ │ ├── Header.tsx # With theme toggle (v0.4.0)
│ │ │ │ ├── Sidebar.tsx
│ │ │ │ └── Layout.tsx
│ │ │ ── ui/ # shadcn/ui components (v0.3.0)
│ │ │ ├── button.tsx
│ │ │ ├── card.tsx
│ │ │ ├── dialog.tsx
│ │ │ ├── input.tsx
│ │ │ ├── label.tsx
│ │ │ ├── table.tsx
│ │ │ ├── textarea.tsx
│ │ │ ├── toast.tsx
│ │ │ ├── toaster.tsx
│ │ │ ── sonner.tsx
│ │ ├── pages/ # Page components (v0.3.0)
│ │ │ ── ui/ # shadcn/ui components (v0.3.0)
│ │ │ ├── button.tsx
│ │ │ ├── card.tsx
│ │ │ ├── dialog.tsx
│ │ │ ├── input.tsx
│ │ │ ├── label.tsx
│ │ │ ├── table.tsx
│ │ │ ├── textarea.tsx
│ │ │ ├── toast.tsx
│ │ │ ├── toaster.tsx
│ │ │ ── sonner.tsx
│ │ ├── tabs.tsx # v0.4.0
│ │ │ │ ├── checkbox.tsx # v0.4.0
│ │ │ │ └── select.tsx # v0.4.0
│ │ │ ├── charts/ # Recharts components (v0.4.0)
│ │ │ │ ├── CostBreakdownChart.tsx
│ │ │ │ ├── TimeSeriesChart.tsx
│ │ │ │ └── ComparisonBarChart.tsx
│ │ │ ├── comparison/ # Comparison feature (v0.4.0)
│ │ │ │ ├── ScenarioComparisonTable.tsx
│ │ │ │ └── ComparisonMetrics.tsx
│ │ │ └── reports/ # Report generation UI (v0.4.0)
│ │ │ ├── ReportGenerator.tsx
│ │ │ └── ReportList.tsx
│ │ ├── pages/ # Page components (v0.4.0)
│ │ │ ├── Dashboard.tsx # Scenarios list
│ │ │ ├── ScenarioDetail.tsx # Scenario view/edit
│ │ │ ── ScenarioEdit.tsx # Create/edit form
│ │ ├── hooks/ # React Query hooks (v0.3.0)
│ │ │ ├── ScenarioDetail.tsx # Scenario view/edit with charts
│ │ │ ── ScenarioEdit.tsx # Create/edit form
│ │ │ ├── Compare.tsx # Compare scenarios (v0.4.0)
│ │ │ └── Reports.tsx # Reports page (v0.4.0)
│ │ ├── hooks/ # React Query hooks (v0.4.0)
│ │ │ ├── useScenarios.ts
│ │ │ ├── useCreateScenario.ts
│ │ │ ── useUpdateScenario.ts
│ │ │ ── useUpdateScenario.ts
│ │ │ ├── useComparison.ts # v0.4.0
│ │ │ └── useReports.ts # v0.4.0
│ │ ├── lib/ # Utilities
│ │ │ ├── api.ts # Axios client config
│ │ │ ├── utils.ts # Utility functions
│ │ │ ── queryClient.ts # React Query config
│ │ │ ── queryClient.ts # React Query config
│ │ │ └── theme-provider.tsx # Dark mode (v0.4.0)
│ │ └── types/
│ │ └── api.ts # TypeScript types
│ ├── e2e/ # E2E tests (v0.4.0)
│ │ ├── tests/
│ │ │ ├── scenarios.spec.ts
│ │ │ ├── reports.spec.ts
│ │ │ ├── comparison.spec.ts
│ │ │ └── dark-mode.spec.ts
│ │ ├── fixtures/
│ │ └── TEST-RESULTS.md
│ ├── package.json
│ ├── vite.config.ts
│ ├── tsconfig.json
│ ├── tailwind.config.js
│ ├── playwright.config.ts # E2E config (v0.4.0)
│ ├── components.json # shadcn/ui config
│ └── Dockerfile # Production build
@@ -1350,14 +1380,35 @@ volumes:
- ✅ Dockerfile for frontend (multi-stage build)
- ✅ Environment configuration
### v0.4.0 - Reports & Visualization 🔄 PLANNED
### v0.4.0 - Reports, Charts & Comparison ✅ COMPLETATA (2026-04-07)
**Features:**
- 🔄 Report generation (PDF/CSV)
- 🔄 Scenario comparison view
- 🔄 Interactive charts (Recharts)
- 🔄 Dark/Light mode toggle
- 🔄 Advanced form validation (React Hook Form + Zod)
**Backend Features:**
- Report generation (PDF/CSV) with ReportLab and Pandas
- ✅ Report storage and download API
- ✅ Rate limiting for report downloads (10/min)
- ✅ Automatic cleanup of old reports
**Frontend Features:**
- ✅ Interactive charts with Recharts (Pie, Area, Bar)
- ✅ Cost Breakdown chart in Scenario Detail
- ✅ Time Series chart for metrics
- ✅ Comparison Bar Chart for scenario compare
- ✅ Dark/Light mode toggle with system preference detection
- ✅ Scenario comparison page (2-4 scenarios side-by-side)
- ✅ Comparison tables with delta indicators
- ✅ Report generation UI (PDF/CSV)
**Testing:**
- ✅ E2E testing suite with Playwright
- ✅ 100 test cases covering all features
- ✅ Multi-browser support (Chromium, Firefox)
- ✅ Visual regression testing
**Technical:**
- ✅ next-themes for theme management
- ✅ Tailwind dark mode configuration
- ✅ Radix UI components (Tabs, Checkbox, Select)
- ✅ Responsive charts with theme adaptation
### v1.0.0 - Production Ready ⏳ PLANNED
@@ -1381,14 +1432,20 @@ volumes:
## 14. Testing Status
### Current Coverage (v0.3.0)
### Current Coverage (v0.4.0)
| Layer | Type | Status | Coverage |
|-------|------|--------|----------|
| Backend Unit | pytest | ✅ Basic | ~45% |
| Backend Integration | pytest | 🔄 Partial | Key endpoints |
| Frontend Unit | Vitest | Planned | - |
| E2E | Playwright | ⏳ Planned | - |
| Backend Unit | pytest | ✅ Implemented | ~60% |
| Backend Integration | pytest | ✅ Implemented | All endpoints |
| Frontend Unit | Vitest | 🔄 Partial | Key components |
| E2E | Playwright | ✅ Implemented | 100 tests |
**E2E Test Results:**
- Total tests: 100
- Passing: 100
- Browsers: Chromium, Firefox
- Features covered: Scenarios, Reports, Comparison, Dark Mode
### Test Files
@@ -1412,14 +1469,20 @@ tests/
## 15. Known Limitations & Technical Debt
### Current (v0.3.0)
### Current (v0.4.0)
1. **No Authentication**: API is open (JWT planned v1.0.0)
2. **No Rate Limiting**: API endpoints unprotected (slowapi planned v0.4.0)
3. **Frontend Charts Missing**: Recharts integration pending
4. **Report Generation**: Backend ready but no UI
5. **No Caching**: Every request hits database (Redis planned v1.0.0)
6. **Limited Test Coverage**: Only basic tests from v0.1
1. **No Authentication**: API is open (JWT planned v0.5.0)
2. **No Caching**: Every request hits database (Redis planned v1.0.0)
3. **Limited Frontend Unit Tests**: Vitest coverage partial
### Resolved in v0.4.0
- ✅ Report generation with PDF/CSV export
- ✅ Interactive charts with Recharts
- ✅ Scenario comparison feature
- ✅ Dark/Light mode toggle
- ✅ E2E testing with Playwright (100 tests)
- ✅ Rate limiting for report downloads
### Resolved in v0.3.0
@@ -1431,7 +1494,7 @@ tests/
---
*Documento creato da @spec-architect*
*Versione: 1.1*
*Ultimo aggiornamento: 2026-04-07*
*Stato: v0.3.0 Completata*
*Documento creato da @spec-architect*
*Versione: 1.2*
*Ultimo aggiornamento: 2026-04-07*
*Stato: v0.4.0 Completata*