3.3 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. Filtrering och sortering av receptlistan
Receptlistan visas i dag utan möjlighet att filtrera eller sortera. Lägg till stöd för att filtrera på kategori/tagg och sortera på t.ex. namn eller senast tillagd. Kan implementeras i frontend (klientside) eller som query-parametrar till backend.
6. Layout och presentation av receptlistan
Receptlistan (app/recipes/RecipeGrid.tsx) är en enkel lista. Förbättra presentationen med t.ex. ett kortrutnät med bild, kortnamn och eventuellt tillagningstid — liknande ett receptkort i stil med en matblogg.
7. 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 ✅
Jest + ts-jest är uppsatt. Tester finns för:
normalize-name.ts— 10 testerbase.parser.ts(parseIngredientLine) — 12 testerrecipes.service.ts(normalizeUnit,convertUnit) — 17 tester
Kör med npm test i backend/.
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
canonicalNamei admin och fyll i dem - Kontrollera att
categoryär ifyllt för alla produkter (för bättre gruppering i baslager)