chore(docs): update project documentation with deployment and maintenance changes
Test Suite / backend-pr-quick (push) Has been skipped
Test Suite / quick-import-pr-quick (push) Has been skipped
Test Suite / backend-full (push) Successful in 1m33s
Test Suite / flutter-quality (push) Failing after 1m24s

Updated three documentation files to reflect recent deployment and maintenance improvements:

- NEXT_STEPS.md: Added completed steps for 2026-05-20 including deploy script updates, Prisma integration, standardized database cleaning, and production fixes
- README.md: Added new deployment flags and maintenance file information for 2026-05-20 release
- TEKNISK_BESKRIVNING.md: Added technical details about new deploy flow, database cleaning process, and production hotfix resolution
This commit is contained in:
Nils-Johan Gynther
2026-05-20 21:34:08 +02:00
parent e491a6c67f
commit 740e8e5897
3 changed files with 87 additions and 65 deletions
+28 -20
View File
@@ -1,3 +1,11 @@
## Utforda steg (2026-05-20)
- [x] **Deploy-script uppdaterat:** `deploy.sh` utokat med `--migrate` och `--clean-database`.
- [x] **Prisma-integrering i deploy:** `--migrate` kor `prisma migrate deploy` i `recipe-api` med explicit schema-parameter.
- [x] **Databasrensning standardiserad:** Ny underhallsfil `backend/prisma/maintenance/clean-database.sql` skapad for reset som bevarar kategorier.
- [x] **Produktionsnara fel rattat:** `clean-database.sql` korrigerad efter serverfel (`Table 'ShoppingList' doesn't exist`).
- [x] **Tabellista hardad:** SQL-filen anvander nu existerande tabeller i nuvarande Prisma-schema och tar bort beroenden i saker ordning med `FOREIGN_KEY_CHECKS`.
# Nasta steg
Detta ar huvudroadmap for Recipe App.
@@ -41,25 +49,25 @@ MVP ar uppnadd nar en vanlig anvandare kan importera, granska och spara kvitto/r
- Deploy, healthcheck och testkorning ar reproducerbara i driftmiljo.
## Nyligen klart
## Utförda steg (2026-05-19)
- [x] **Flyerimport-sessioner i backend:** Implementerat session-endpoints för senaste och specifik session.
- [x] **Flyerimport-persistens i Flutter:** Lättviktig lagring i `SharedPreferences` med `sessionId` + vald state.
- [x] **Hydreringsflöde i klient:** Restore lokalt -> hämta via sessionId -> fallback till latest-session.
- [x] **HTTP-semantik + optimering:** 404 för saknad session och single-query för latest-session.
- [x] **Regressionstester:** Backendtester för flyer-sessioner tillagda och gröna (3/3).
## Utförda steg (2026-05-18)
- [x] **ESLint i backend + CI:** ESLint-konfiguration tillagd i backend och CI-workflow uppdaterad med lint-step för PR/push.
- [x] **Dart lint-konfig aktiverad:** `flutter/analysis_options.yaml` tillagd för att säkerställa `flutter_lints` i analyskörningar.
- [x] **Prisma query logging styrbar per miljö:** `PRISMA_LOG_QUERIES` implementerad i backend samt kopplad i `compose.yml`.
- [x] **Dokumenterat aktivering av query-loggar:** Instruktion att sätta `PRISMA_LOG_QUERIES=1` och starta om `recipe-api` i test/staging.
- [x] **Korrigerat testförväntan i receipt-import:** Security-test för saknat användar-id uppdaterat till `UnauthorizedException`.
## Utförda steg (2026-05-13)
## Nyligen klart
## Utförda steg (2026-05-19)
- [x] **Flyerimport-sessioner i backend:** Implementerat session-endpoints för senaste och specifik session.
- [x] **Flyerimport-persistens i Flutter:** Lättviktig lagring i `SharedPreferences` med `sessionId` + vald state.
- [x] **Hydreringsflöde i klient:** Restore lokalt -> hämta via sessionId -> fallback till latest-session.
- [x] **HTTP-semantik + optimering:** 404 för saknad session och single-query för latest-session.
- [x] **Regressionstester:** Backendtester för flyer-sessioner tillagda och gröna (3/3).
## Utförda steg (2026-05-18)
- [x] **ESLint i backend + CI:** ESLint-konfiguration tillagd i backend och CI-workflow uppdaterad med lint-step för PR/push.
- [x] **Dart lint-konfig aktiverad:** `flutter/analysis_options.yaml` tillagd för att säkerställa `flutter_lints` i analyskörningar.
- [x] **Prisma query logging styrbar per miljö:** `PRISMA_LOG_QUERIES` implementerad i backend samt kopplad i `compose.yml`.
- [x] **Dokumenterat aktivering av query-loggar:** Instruktion att sätta `PRISMA_LOG_QUERIES=1` och starta om `recipe-api` i test/staging.
- [x] **Korrigerat testförväntan i receipt-import:** Security-test för saknat användar-id uppdaterat till `UnauthorizedException`.
## Utförda steg (2026-05-13)
- [x] **Centralt hjälptextsystem (backend):** Nytt `HelpTextsModule` med service, controller och DTO. `GET /api/help-texts/:key` returnerar rätt hjälptext baserat på användarroll (prioritetsordning: admin → user → default). `PUT /api/help-texts/:key/:scope` kräver admin-roll.
- [x] **Prisma-migration:** `20260513150000_add_help_texts``HelpText`-tabell med `@@unique([key, scope])`-constraint och index. Seed-data för `receipt_import` (default + admin-scope) på svenska.
@@ -149,7 +157,7 @@ MVP ar uppnadd nar en vanlig anvandare kan importera, granska och spara kvitto/r
- Deploy-script förbättrad med selektiv build och seed-kontroll
- Se `SESSION_2026-05-09_RECEIPT_IMPORT.md` för detaljer
- **Todo:** Deploy till prod, testa i live miljö, ev. add UI för user private rename/merge
4. Verifiera flyerimportens sessionhydrering end-to-end i test/staging (tab-byte + app-omstart).
4. Verifiera flyerimportens sessionhydrering end-to-end i test/staging (tab-byte + app-omstart).
5. Lokalisera kvarvarande stora Flutter-vyer i import/inventarie.
6. Förbereda avancerad AI-integration med tydlig loggning/audit.
7. Påbörja EAN-stöd via Open Food Facts.