bae705aa97
- Add NFC ePassport roadmap (ICAO 9303, eIDAS) - Add TensorFlow.js edge face detection (BlazeFace) - Add structured audit logger (GDPR-compliant) - Risk scoring support Part of KYC Apple Native UX v1.1.0
101 lines
3.2 KiB
Markdown
101 lines
3.2 KiB
Markdown
# Sprint 3: UI & Observability — Sammanfattning
|
|
|
|
> **Datum:** 2026-06-24
|
|
> **Status:** ✅ Plan & grundstruktur klar
|
|
> **Output:** 5 dokument + 5 källkodsfiler
|
|
|
|
---
|
|
|
|
## Leverabler
|
|
|
|
### 1. UI-Refaktoreringsplan
|
|
**Fil:** `UI-REFACTOR-PLAN.md`
|
|
|
|
- ✅ Analys av 3081-raders monolit (8 tabs, 5 modaler, onboarding, mobilnav)
|
|
- ✅ Identifiering av alla komponenter/vyer med komplexitetsbedömning
|
|
- ✅ Föreslagen modulär struktur (vanilla ES modules, ingen build-step)
|
|
- ✅ Modulgränssnitt (kontrakt) för tabs, components, API
|
|
- ✅ Fasad migreringsplan (9 faser, ~29h)
|
|
- ✅ Tekniska beslut (vanilla > React, egen CSS, ingen build)
|
|
- ✅ Risker & mitigering
|
|
- ✅ Definition of Done
|
|
|
|
### 2. Metrics-Implementation
|
|
**Fil:** `METRICS-IMPLEMENTATION.md`
|
|
|
|
- ✅ Prometheus metrics endpoint (uppgraderad `/prom-metrics`)
|
|
- ✅ 10 nya finance-specifika metrics (journal, invoices, VAT, payroll, receipts)
|
|
- ✅ Strukturerad JSON-loggning (`logger.mjs`)
|
|
- ✅ Förbättrad health check (`/health/finance`)
|
|
- PostgreSQL (svarstid)
|
|
- Redis (svarstid)
|
|
- Disk (användning %)
|
|
- Ledger-tjänst
|
|
- Revolut API
|
|
- ✅ Prestandapåverkan: < 1% (cachad health, async metrics)
|
|
- ✅ Grafana dashboard-förslag
|
|
|
|
### 3. Dokumentation
|
|
**Fil:** `README.md`
|
|
|
|
- ✅ Arkitekturöversikt (diagram)
|
|
- ✅ Deployment-guide (steg-för-steg)
|
|
- ✅ Miljövariabler (obligatoriska, bankintegration, operativa)
|
|
- ✅ API-endpoints (finance proxy + health/metrics)
|
|
- ✅ Nginx-konfiguration
|
|
- ✅ PM2-konfiguration
|
|
- ✅ Utvecklingsguide
|
|
- ✅ Övervakning & larm
|
|
- ✅ Säkerhetschecklista
|
|
|
|
---
|
|
|
|
## Källkodsfiler (implementerade)
|
|
|
|
### Backend (Observability)
|
|
|
|
| Fil | Beskrivning | Plats vid deploy |
|
|
|-----|-------------|------------------|
|
|
| `metrics.mjs` | Prometheus metrics definitions | `/opt/amos/api/finance/metrics.mjs` |
|
|
| `logger.mjs` | Strukturerad JSON-loggning | `/opt/amos/api/finance/logger.mjs` |
|
|
| `health.mjs` | Förbättrad health check handler | `/opt/amos/api/finance/health.mjs` |
|
|
|
|
### Frontend (UI-grund)
|
|
|
|
| Fil | Beskrivning | Plats vid deploy |
|
|
|-----|-------------|------------------|
|
|
| `js/state.mjs` | Global state management | `/opt/amos/public/ouroboros/finance/js/state.mjs` |
|
|
| `js/api.mjs` | API layer med auth & retry | `/opt/amos/public/ouroboros/finance/js/api.mjs` |
|
|
| `js/utils.mjs` | Formatering, DOM-hjälpare | `/opt/amos/public/ouroboros/finance/js/utils.mjs` |
|
|
| `js/main.mjs` | Entry point, tab-routing | `/opt/amos/public/ouroboros/finance/js/main.mjs` |
|
|
|
|
---
|
|
|
|
## Nästa steg (Sprint 4)
|
|
|
|
1. **Deploy backend-filer**
|
|
```bash
|
|
sudo mkdir -p /opt/amos/api/finance
|
|
sudo cp metrics.mjs logger.mjs health.mjs /opt/amos/api/finance/
|
|
```
|
|
|
|
2. **Integrera i server.mjs**
|
|
- Importera `metrics.mjs`, `logger.mjs`
|
|
- Lägg till `/health/finance` endpoint
|
|
- Utöka `/prom-metrics` med finance metrics
|
|
|
|
3. **Påbörja UI-refaktorering**
|
|
- Skapa `css/*.css` från inline styles
|
|
- Implementera `tabs/overview.mjs`
|
|
- Testa med `?v2=1` feature-flagg
|
|
|
|
4. **Testa health & metrics**
|
|
```bash
|
|
curl http://localhost:3100/health/finance
|
|
curl http://localhost:3100/prom-metrics | grep finance_
|
|
```
|
|
|
|
---
|
|
|
|
*Alla filer finns i: `/home/bernt/.openclaw/workspace/landvex-finance-sprint3/`*
|