Refactor technical documentation for clarity and updates

- Updated "teknisk_beskrivning_flutter.md" to streamline content and remove outdated sections, focusing on architecture, environment, and recent technical additions.
- Enhanced "migrering-MSI.md" with post-migration updates and clarifications for target audience.
- Revised "produktlansering.md" to serve as a release checklist, ensuring it complements existing documentation without duplication.

Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
Nils-Johan Gynther
2026-05-03 17:03:20 +02:00
parent fa7f225ee5
commit 1320f936ec
10 changed files with 243 additions and 1377 deletions
+33 -53
View File
@@ -1,68 +1,48 @@
# Plan för produktlansering
# Plan for produktlansering
Denna plan bryter ner de viktigaste områdena som behöver åtgärdas för att ta Recipe App till produktionsredo lansering. Varje rubrik motsvarar en punkt i NEXT_STEPS.md och innehåller konkreta delmål och åtgärder.
Detta dokument ar en releasechecklista.
Det kompletterar `NEXT_STEPS.md` och ska inte duplicera backloggen.
## 1. Säkerhet & Data
## Dokumentstatus (2026-05-03)
- Kryptera känsliga användaruppgifter i databasen (t.ex. e-post, namn) med AES-256-GCM
- Inför rate limiting på API och AI-endpoints (t.ex. @nestjs/throttler)
- ✅ Lägg till säkerhetshuvuden (Helmet i backend, CSP i frontend) — **Klart 2026-04-21**
- Caddy: globala headers (HSTS, X-Frame-Options, CORP, COOP, COEP, Referrer-Policy, Permissions-Policy)
- Next.js: CSP via `next.config.js` med `headers()`-funktionen
- NestJS: Helmet konfigurerat i `main.ts` som backup (aktiveras vid nästa rebuild)
- Dokumenterat i TEKNISK_BESKRIVNING.md under "Säkerhetshuvuden"
- Se över hantering av miljövariabler och secrets (ingen hårdkodning)
- Kontrollera och dokumentera rollhantering och accesskontroller
- Malgrupp: produktagare, systemadministratorer, utvecklingsteam.
- Fokus: vad som maste vara verifierat innan release.
### Steg-för-steg:
1. Identifiera alla fält som ska krypteras och implementera kryptering/dekryptering i backend
2. Lägg till och konfigurera rate limiting i NestJS
3. ✅ Lägg till Helmet och CSP-konfiguration — **Klart**
4. Gå igenom compose.yml och kodbas för att säkerställa att alla hemligheter ligger i .env
5. Dokumentera och testa roll/accesskontroller
## 1. Sakerhet och data
## 2. DevOps & Stabilitet
- [ ] 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.
- Sätt upp CI/CD-pipeline för automatiska tester och deployment (t.ex. GitHub Actions eller Gitea Actions)
- Automatisera databas-migreringar och seedning vid deployment
- Lägg till central loggning och monitorering (t.ex. Winston/Pino, health endpoints)
- Säkerställ backup-rutiner för datavolymer (MariaDB, bilder)
## 2. DevOps och stabilitet
### Steg-för-steg:
1. Skapa pipeline för build, test och deploy
2. Automatisera körning av prisma migrate deploy och seed_all.sql
3. Implementera loggning och monitorering
4. Dokumentera och testa backup/restore-rutiner
- [ ] 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. Testning & Kvalitet
## 3. Kvalitet och test
- Utöka integrationstester och E2E-tester (t.ex. Playwright)
- Striktare validering av API-data (class-validator)
- Säkerställ testtäckning för kritiska flöden (auth, CRUD, AI)
- [ ] Kritiska floden har testtackning (auth, import, CRUD, AI).
- [ ] Minst en end-to-end verifiering i testmiljo per release.
- [ ] DTO-validering och felhantering kontrollerad.
### Steg-för-steg:
1. Identifiera kritiska flöden och skriv tester
2. Lägg till E2E-tester för frontend och backend
3. Gå igenom och skärp validering i DTOs
## 4. Funktionell releaseklarhet
## 4. Funktionella förbättringar
- [ ] 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.
- Implementera EAN-skanning (Open Food Facts)
- Utveckla AI-baserade receptförslag ("Vad ska jag laga idag?")
- Förbättra enhetskonvertering och UX kring enheter
## 5. Riskhantering
### Steg-för-steg:
1. Planera och implementera EAN-skanning
2. Utveckla och testa AI-funktion för receptförslag
3. Förbättra och testa enhetslogik och gränssnitt
- [ ] AI-kostnad, timeout och fallback beteende verifierat.
- [ ] Ingen osynk mellan migrationer och seedskript.
- [ ] Kanda release-risker dokumenterade med ansvarig agare.
## 5. Risker & Flaskhalsar
## Relaterade dokument
- Optimera AI-anrop och fallback-logik
- Säkerställ backup av datavolymer
- Undvik osynk mellan SQL-seeds och migrationer
### Steg-för-steg:
1. Gå igenom och optimera AI-anrop (kostnad, fallback)
2. Dokumentera och testa backup/restore
3. Se över och dokumentera seed/migration-processen
- `NEXT_STEPS.md` - overgripande prioriteringar.
- `TEKNISK_BESKRIVNING.md` - teknisk implementation.
- `flutter/next_steps_flutter.md` - Flutter-specifik leveransplan.