MAJOR UPPDATE: "First Ai"

feat: add AI categorization for products and enhance user management

- Integrated AI service for category suggestions in receipt import and product management.
- Added premium subscription feature for users with corresponding API endpoints.
- Implemented admin interface for managing pending product suggestions.
- Enhanced user management to include premium status and corresponding UI updates.
- Updated database schema to support new fields for premium status and product status.
This commit is contained in:
Nils-Johan Gynther
2026-04-19 10:34:21 +02:00
parent 0286ab0991
commit 054a19ed7c
30 changed files with 917 additions and 77 deletions
+18 -16
View File
@@ -2,23 +2,25 @@
> Se [README.md](README.md) för funktionsöversikt, [TEKNISK_BESKRIVNING.md](TEKNISK_BESKRIVNING.md) för teknisk arkitektur och [NEXT_STEPS.md](NEXT_STEPS.md) för prioriterade nästa steg.
Detta dokument beskriver de AI-funktioner som kommer att implementeras som **premium-funktioner** i **recipe-app**. Varje funktion är kopplad till en rekommenderad Mistral-modell, med fokus på att använda de enklaste och mest kostnadseffektiva alternativen.
Detta dokument beskriver de AI-funktioner som implementeras eller planeras som **premium-funktioner** i **recipe-app**. Varje funktion är kopplad till en rekommenderad Mistral-modell, med fokus på att använda de enklaste och mest kostnadseffektiva alternativen.
---
## Översikt över AI-funktioner
Funktion | Beskrivning | Rekommenderad Modell |
|-----------------------------------|-------------------------------------------------------------------------------------------------|----------------------------|
| **Receptförslag utifrån hemmalager** | AI analyserar användarens inventory och föreslår recept baserat på tillgängliga ingredienser. | `mistral-small-2603` |
| **Veckoplanering med AI** | AI genererar en veckoplan baserat på inventory, recept och användarpreferenser. | `mistral-small-2603` |
| **Smart inköpslista** | AI skapar en inköpslista baserat på saknade ingredienser och historisk förbrukning. | `mistral-small-2603` |
| **Automatisk kategorisering** | AI kategoriserar nya produkter i inventory baserat på namn och beskrivning. | `mistral-small-2603` |
| **"Vad ska jag laga idag?"** | AI ger snabba receptförslag baserat på vad användaren har hemma. | `mistral-tiny-2603` |
| **Enhetskonvertering** | AI hjälper till att konvertera enheter (t.ex. gram till msk) och hanterar osäkerheter. | `labs-leanstral-2603` |
| **AI-assisterad lageravräkning** | AI hjälper till att dra av rätt mängder från inventory när ett recept lagas. | `mistral-small-2603` |
| **Personliga matlagningsråd** | AI ger personliga tips baserat på användarens matlagningshistorik och inventory. | `mistral-tiny-2603` |
| **AI-assisterad import av PDF/länkar** | AI extraherar recept och prisdata från PDF-filer och länkar för att underlätta importen. | `mistral-small-2603` |
| **Kostnadseffektiv inköpslista** | AI skapar en kostnadseffektiv inköpslista baserat på inventory och aktuella butikspriser. | `mistral-small-2603` |
| Funktion | Beskrivning | Modell | Status |
|---|---|---|---|
| **Automatisk kategorisering** | AI kategoriserar produkter baserat på namn mot systemets kategoriträd. Admins kör bulk-kategorisering; premium-användare får förslag per produkt. | `mistral-small-2603` | ✅ Klart |
| **Kvittoimport — kategorisuggestion** | Ej matchade kvittorader får ett AI-kategoriförslag för premium-användare, visas som ledtråd i gränssnittet. | `mistral-small-2603` | ✅ Klart |
| **Receptförslag utifrån hemmalager** | AI analyserar användarens inventory och föreslår recept baserat på tillgängliga ingredienser. | `mistral-small-2603` | ❌ Planerad |
| **Veckoplanering med AI** | AI genererar en veckoplan baserat på inventory, recept och användarpreferenser. | `mistral-small-2603` | ❌ Planerad |
| **Smart inköpslista** | AI skapar en inköpslista baserat på saknade ingredienser och historisk förbrukning. | `mistral-small-2603` | ❌ Planerad |
| **"Vad ska jag laga idag?"** | AI ger snabba receptförslag baserat på vad användaren har hemma. | `mistral-small-2603` | ❌ Planerad |
| **Enhetskonvertering** | AI hjälper till att konvertera enheter (t.ex. gram till msk) och hanterar osäkerheter. | `mistral-small-2603` | ❌ Planerad |
| **AI-assisterad lageravräkning** | AI hjälper till att dra av rätt mängder från inventory när ett recept lagas. | `mistral-small-2603` | ❌ Planerad |
| **Personliga matlagningsråd** | AI ger personliga tips baserat på användarens matlagningshistorik och inventory. | `mistral-small-2603` | ❌ Planerad |
| **AI-assisterad import av PDF/länkar** | AI extraherar recept och prisdata från PDF-filer och länkar för att underlätta importen. | `mistral-small-2603` | ❌ Planerad |
| **Kostnadseffektiv inköpslista** | AI skapar en kostnadseffektiv inköpslista baserat på inventory och aktuella butikspriser. | `mistral-small-2603` | ❌ Planerad |
---
@@ -51,9 +53,9 @@ Detta dokument beskriver de AI-funktioner som kommer att implementeras som **pre
## Nästa steg
1. **Prioritera funktioner**: Börja med de funktioner som ger mest värde för användaren, i denna ordning **Automatiska kategorisering** och **Receptförslag utifrån hemmalager** samt **Vad ska jag laga idag?"**.
2. **Implementera validering**: Se till att AI-output alltid valideras mot strukturerade scheman.
3. **Testa och iterera**: Börja med enklare modeller och utvärdera resultatet innan du skalar upp.
1. **Receptförslag** — "Vad ska jag laga idag?" är nästa naturliga premium-funktion; bygger direkt på inventory och recept som redan finns i systemet.
2. **Veckoplanering med AI** — kräver att receptförslag fungerar; planera mot kampanjpriser kräver extern datakälla.
3. **Validering av AI-output** — säkerställ att AI-svar alltid valideras mot strukturerade scheman (t.ex. Zod) för datakvalitet.
---