diff --git a/_archive/docs/produktlansering.md b/_archive/docs/produktlansering.md index 078ad9c1..94e21ae5 100644 --- a/_archive/docs/produktlansering.md +++ b/_archive/docs/produktlansering.md @@ -1,52 +1,157 @@ -# Plan for produktlansering - -Detta dokument ar en releasechecklista. -Det kompletterar `NEXT_STEPS.md` och ska inte duplicera backloggen. - -## Dokumentstatus (2026-05-03) - -- Malgrupp: produktagare, systemadministratorer, utvecklingsteam. -- Fokus: vad som maste vara verifierat innan release. - -## 1. Sakerhet och data - -- [ ] Kansliga uppgifter krypterade enligt beslutad modell. -- [ ] Rate limiting aktiv pa relevanta API/AI-endpoints. -- [ ] Secret-hantering verifierad (inga hardkodade hemligheter). -- [ ] Roll- och accesskontroller testade i praktiken. - -## 2. DevOps och stabilitet - -- [ ] CI/CD for build, test och deploy pa plats. -- [ ] Migreringar + seedning kor konsekvent vid release. -- [ ] Health checks och loggning verifierade. -- [ ] Backup/restore testad for datavolymer. - -## 3. Kvalitet och test - -- [ ] Kritiska floden har testtackning (auth, import, CRUD, AI). -- [ ] Minst en end-to-end verifiering i testmiljo per release. -- [ ] DTO-validering och felhantering kontrollerad. - -## 4. Funktionell releaseklarhet - -- [ ] Kvittoimport fungerar end-to-end med granskningssteg. -- [ ] User-scoped produktmodell verifierad med flera testanvandare. -- [ ] Kategoritrad seedat och validerat i aktuell miljo. -- [ ] Bildimport och fallbackfloden fungerar i driftmiljo. - -## 5. Riskhantering - -- [ ] AI-kostnad, timeout och fallback beteende verifierat. -- [ ] Ingen osynk mellan migrationer och seedskript. -- [ ] Kanda release-risker dokumenterade med ansvarig agare. - -## Relaterade dokument - -- `NEXT_STEPS.md` - overgripande prioriteringar. -- `TEKNISK_BESKRIVNING.md` - teknisk implementation. -- `flutter/next_steps_flutter.md` - Flutter-specifik leveransplan. - -## 2026-05-10: Admin-inventarie (CRUD, merge, filter, sortering, preview, säkerhet), user-scope, IDOR-skydd, säkerhetshärdning, optimeringar och utökad testtäckning är nu genomförda och dokumenterade i README, TEKNISK_BESKRIVNING, SÄKERHETSHÄRDNINGSPLAN och SESSIONLOGGAR. - -## 2026-05-10: Admin-inventarie (CRUD, merge, filter, sortering, preview, säkerhet), user-scope, IDOR-skydd, säkerhetshärdning, optimeringar och utökad testtäckning är nu genomförda och dokumenterade i README, TEKNISK_BESKRIVNING, SÄKERHETSHÄRDNINGSPLAN och SESSIONLOGGAR. +# Plan för produktlansering + +Detta dokument är en releasechecklista. +Det kompletterar `NEXT_STEPS.md` och ska inte duplicera backloggen. + +## Dokumentstatus (2026-05-21) + +- Målgrupp: produktägare, systemadministratörer, utvecklingsteam. +- Fokus: vad som måste vara verifierat innan release. + +## 1. Säkerhet och dataskydd + +- [ ] Känsliga uppgifter krypterade enligt beslutad modell. +- [ ] Rate limiting aktiv på relevanta API/AI-endpoints. +- [ ] Secret-hantering verifierad (inga hardkodade hemligheter). +- [ ] Roll- och accesskontroller testade i praktiken. +- [ ] Migrera autentisering från `localStorage` till `httpOnly`-cookies i Flutter Web. +- [ ] Implementera automatiserad datarensning för `AiTrace` (retention-policy). +- [ ] Utför penetrationstest för IDOR och XSS. +- [ ] Dokumentera GDPR-processer (t.ex. rätt att glömmas, dataportabilitet). + +## 2. DevOps och stabilitet + +- [ ] CI/CD för build, test och deploy på plats. +- [ ] Migreringar + seedning kör konsekvent vid release. +- [ ] Health checks och loggning verifierade. +- [ ] Backup/restore testad för datavolymer. + +## 3. Kvalitet och test + +- [ ] Kritiska flöden har testtäckning (auth, import, CRUD, AI). +- [ ] Minst en end-to-end verifiering i testmiljö per release. +- [ ] DTO-validering och felhantering kontrollerad. +- [ ] Skapa E2E-tester för flyer- och kvittoimport (t.ex. Cypress eller Playwright). +- [ ] Validera OCR-korrigeringar med ett större dataset. + +## 4. Funktionell releaseklarhet + +- [ ] Kvittoimport fungerar end-to-end med granskningsteg. +- [ ] User-scoped produktmodell verifierad med flera testanvändare. +- [ ] Kategoriträd seedat och validerat i aktuell miljö. +- [ ] Bildimport och fallbackflöde fungerar i driftmiljö. +- [ ] Genomför manuell testning av aliasflödet med riktiga kvitton. +- [ ] Test sessionhydrering i olika scenarier (t.ex. flikbyte, app-krasch). + +## 5. Riskhantering + +- [ ] AI-kostnad, timeout och fallback-beteende verifierat. +- [ ] Ingen osynk mellan migrationer och seedskript. +- [ ] Kända release-risker dokumenterade med ansvarig ägare. +- [ ] Implementera adaptiv retry-logik med exponentiell backoff för AI-anrop. +- [ ] Lägg till kostnadsgränser och varningar i `AiTraceService`. +- [ ] Dokumentera fallback-beteende (t.ex. cache, manuell granskning). + +## 6. Prestanda och skalbarhet + +- [ ] Optimera Prisma-frågor med `EXPLAIN ANALYZE` och indexering. +- [ ] Implementera virtuell scrollning i Flutter för stora listor. +- [ ] Dokumentera belastningsgränser för `importer-api` och planera för skalning. +- [ ] Lägg till Redis-cache för vanliga frågor (t.ex. produkt-sökning). + +## 7. Dokumentation och användarstöd + +- [ ] Skapa admin-handbok med vanliga arbetsflöden. +- [ ] Förbättra felmeddelanden i UI med tydliga instruktioner. +- [ ] Utöka `HelpTextsModule` med kontextuella guider för alla huvudfunktioner. +- [ ] Generera OpenAPI-specifikation för backend (t.ex. med `@nestjs/swagger`). + +## Relaterade dokument + +- `NEXT_STEPS.md` — övergripande prioriteringar. +- `TEKNISK_BESKRIVNING.md` — teknisk implementation. +- `flutter/next_steps_flutter.md` — Flutter-specifik leveransplan. +- `MVP_CHECKLISTA.md` — testchecklista för MVP. + +## Kritiska utvecklingsområden + +### 1. Säkerhet och dataskydd (Högsta prioritet) +**Motivering:** +- Känsliga uppgifter (t.ex. JWT i localStorage) och AI-trace-loggar innehåller maskerade men potentiellt känsliga uppgifter. +- Risk för XSS-attacker och IDOR om inte åtgärdat. + +**Åtgärder:** +- Migrera autentisering till `httpOnly`-cookies. +- Implementera automatiserad datarensning för `AiTrace`. +- Utför penetrationstester. + +--- + +### 2. Stabilitet i AI-integration (Hög prioritet) +**Motivering:** +- Timeout och retry-logik kan leda till 503-fel. +- Saknad kostnadskontroll för AI-anrop. + +**Åtgärder:** +- Implementera adaptiv retry-logik. +- Lägg till kostnadsgränser i `AiTraceService`. +- Dokumentera fallback-beteende. + +--- + +### 3. Sluttestning av importflöden (Hög prioritet) +**Motivering:** +- Alias-strategin och sessionhydrering är ej fullt testade. +- Saknas E2E-tester för hela importflödet. + +**Åtgärder:** +- Genomför manuell testning med riktiga kvitton. +- Skapa E2E-tester. + +--- + +### 4. Prestanda och skalbarhet (Medel prioritet) +**Motivering:** +- Långsamma Prisma-frågor och renderingsproblem i Flutter-UI. +- Saknad caching-strategi. + +**Åtgärder:** +- Optimera databasfrågor. +- Implementera virtuell scrollning. +- Lägg till Redis-cache. + +--- + +### 5. Dokumentation och användarstöd (Medel prioritet) +**Motivering:** +- Saknas admin-guider och tydliga felmeddelanden. +- Begränsat innehåll i `HelpTextsModule`. + +**Åtgärder:** +- Skapa admin-handbok. +- Utöka hjälptexter. +- Generera OpenAPI-dokumentation. + +--- + +## Prioriteringsordning + +| **Område** | **Prioritet** | **Berörda filer/dokument** | +|---------------------------------|---------------|-----------------------------------------------------| +| 1. Säkerhet och dataskydd | ⭐⭐⭐⭐⭐ | `TEKNISK_BESKRIVNING.md`, `flutter/.../auth/` | +| 2. Stabilitet i AI-integration | ⭐⭐⭐⭐ | `flyerimporter.md`, `backend/src/ai/` | +| 3. Sluttestning av importflöden | ⭐⭐⭐⭐ | `MVP_CHECKLISTA.md`, `NEXT_STEPS.md` | +| 4. Prestanda och skalbarhet | ⭐⭐⭐ | `backend/src/flyer-import/`, `flutter/lib/admin/` | +| 5. Dokumentation och stöd | ⭐⭐ | `README.md`, `HelpTextsModule`, `backend/src/ai/` | + +--- + +## Nästa steg + +1. Låsa säkerhetsbristerna (särskilt autentisering och dataskydd). +2. Stabilisera AI-integration med bättre felhantering och kostnadskontroll. +3. Kör sluttestning av importflöden och rätta eventuella regressioner. +4. Optimera prestanda i databas och UI. +5. Förbättra dokumentationen för admin och slutanvändare. + +Dessa åtgärder säkerställer en **stabil, säker och användarvänlig lansering**. \ No newline at end of file