Files
recipe-app/NEXT_STEPS.md
T

2.6 KiB

Nästa steg

Förslag på vad vi kan ta tag i nästa gång vi öppnar projektet.
Se README.md för funktionsöversikt och 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)