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:
@@ -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*
|
||||
|
||||
Reference in New Issue
Block a user