diff --git a/NEXT_STEPS.md b/NEXT_STEPS.md index a78cfeda..db2f20a5 100644 --- a/NEXT_STEPS.md +++ b/NEXT_STEPS.md @@ -64,6 +64,16 @@ Se även TEKNISK_BESKRIVNING.md för detaljer om seed-processen. --- +## Vägen till produktlansering + +- [Säkerhet & Data](produktlansering.md#1-säkerhet--data) +- [DevOps & Stabilitet](produktlansering.md#2-devops--stabilitet) +- [Testning & Kvalitet](produktlansering.md#3-testning--kvalitet) +- [Funktionella förbättringar](produktlansering.md#4-funktionella-förbättringar) +- [Risker & Flaskhalsar](produktlansering.md#5-risker--flaskhalsar) + +--- + ## Prioriterade förbättringar ### 1. ICA-skraparen missar receptbild diff --git a/produktlansering.md b/produktlansering.md new file mode 100644 index 00000000..49d8b6ca --- /dev/null +++ b/produktlansering.md @@ -0,0 +1,64 @@ +# Plan för 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. + +## 1. Säkerhet & Data + +- 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) +- Se över hantering av miljövariabler och secrets (ingen hårdkodning) +- Kontrollera och dokumentera rollhantering och accesskontroller + +### 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 +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 + +## 2. DevOps & Stabilitet + +- 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) + +### 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 + +## 3. Testning & Kvalitet + +- 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) + +### 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. Funktionella förbättringar + +- Implementera EAN-skanning (Open Food Facts) +- Utveckla AI-baserade receptförslag ("Vad ska jag laga idag?") +- Förbättra enhetskonvertering och UX kring enheter + +### 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 + +## 5. Risker & Flaskhalsar + +- 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