docs: uppdatera README/TEKNISK_BESKRIVNING och lagg till NEXT_STEPS

This commit is contained in:
Nils-Johan Gynther
2026-04-15 22:19:37 +02:00
parent 719c291e36
commit 3f6d32ae44
3 changed files with 95 additions and 8 deletions
+51
View File
@@ -0,0 +1,51 @@
# Nästa steg
> Förslag på vad vi kan ta tag i nästa gång vi öppnar projektet.
> Se [README.md](README.md) för funktionsöversikt och [TEKNISK_BESKRIVNING.md](TEKNISK_BESKRIVNING.md) för teknisk detaljerinformation.
---
## Prioriterade förbättringar
### 1. Receptredigering fungerar fullt ut
Recept kan nu sparas men det finns inte stöd för att redigera ett befintligt recept (inklusive ingredienser). Kontrollera och testa `PATCH /api/recipes/:id` och frontend-vyn under `app/recipes/[id]/`.
### 2. Baslager kopplat mot inventariet
Just nu är baslager och inventariet separata. En naturlig nästa steg är att visa en indikator i baslagerlistan för vilka produkter som faktiskt finns i inventariet just nu — och med hur mycket.
### 3. Produktkategorier — definiera en fast lista
Kategorier skrivs in fritt i admin i dag. Det vore bättre med en dropdownlista med fördefinierade kategorier (t.ex. "Mejeri", "Kött & Fisk", "Torrvaror", osv.) för att hålla konsistens i datan och förbättra grupperingen i baslager-vyn.
### 4. Bild på recept
`imageUrl`-kolumnen finns i databasen (migrerad). Backend och frontend saknar stöd för att visa eller ladda upp receptbilder.
### 5. Matplanering
Lägg till en enkel veckomenylista: välj ett recept per dag, se en samlad ingredienslista och jämför mot inventariet. Kräver en ny `MealPlan`-modell i Prisma.
---
## Teknisk skuld och städning
### A. CanonicalNameForm och NameForm — ta bort gamla filer
`frontend/app/admin/products/NameForm.tsx` och `CanonicalNameForm.tsx` ersattes av `EditProductForm.tsx`. Kontrollera om de gamla filerna fortfarande importeras och radera dem om inte.
### B. Seed-data i versionshantering
`data/matvaror_sverige.csv` och `data/seed_products.sql` ligger lokalt men är inte committade. Bestäm om de ska in i repot (för reproducerbarhet) eller hållas utanför.
### C. Enhetstester
Inga tester finns i dag. Kandidater:
- `normalize-name.ts` (ren funktion, lätt att testa)
- Matchningsalgoritmen i `recipes.service.ts`
- Parser-logiken i `base.parser.ts`
### D. Validering av DTO:er i admin-actions
Frontend-server-actions saknar validering på inkommande fält (tom sträng, för lång sträng, osv.). Lägg till enkel `trim()` + max-längd-kontroll i `frontend/app/admin/products/actions.ts`.
---
## Produktdatabasen
193 svenska produkter är inseedad. Nästa naturliga steg:
- Lägg till fler saknade produkter som dyker upp vid receptimport
- Gå igenom produkter utan `canonicalName` i admin och fyll i dem
- Kontrollera att `category` är ifyllt för alla produkter (för bättre gruppering i baslager)