feat: Enhance recipe import functionality with support for PDF, image, and URL inputs
This commit is contained in:
@@ -19,6 +19,7 @@ En fullstack-applikation för hantering av hemmavaror och recept. Håll koll på
|
||||
- **Skapa och redigera recept** — med ingredienser, kvantiteter, enheter och instruktioner (Markdown-stöd)
|
||||
- **Receptjämförelse mot inventorie** — se direkt vilka ingredienser du har hemma, vad som saknas och enhetskonflikt
|
||||
- **Importera recept från Markdown** — klistra in ett recept i enkelt format, låt systemet matcha ingredienser, granska och spara med ett klick
|
||||
- **Importera recept från PDF, bild eller länk** — stöd för PDF-textutvinning, OCR av bilder och webbimport via snabbimport
|
||||
- **Intelligenta matchningar** — Levenshtein-baserad likhetsbedömning hittar rätt produkt även på osäker stavning
|
||||
- **Enhetskonvertering** — automatisk konvertering mellan viktenheter (g/kg), volymenheter (ml/dl) och portionsenheter (tsk/msk)
|
||||
|
||||
@@ -51,6 +52,8 @@ docker compose up -d
|
||||
Frontend är tillgänglig på `http://localhost:3000` (eller via Caddy proxy)
|
||||
Backend API är tillgänglig på `http://localhost:8080` (eller via Caddy proxy)
|
||||
|
||||
> Stacken använder lokala Docker-images, hälsokontroller och startordning mellan databasen, API:t och frontend för stabilare uppstarter och Portainer-deployer.
|
||||
|
||||
### Bygg bara backend eller frontend om behövligt
|
||||
|
||||
```bash
|
||||
@@ -69,10 +72,10 @@ docker compose up -d recipe-frontend
|
||||
|
||||
```bash
|
||||
# Hälsokontroll via HTTP (backend måste köra)
|
||||
curl http://localhost:8080/health
|
||||
curl http://localhost:8080/api/health
|
||||
|
||||
# Databasspecifik hälsokontroll
|
||||
curl http://localhost:8080/health/db
|
||||
curl http://localhost:8080/api/health/db
|
||||
```
|
||||
|
||||
---
|
||||
@@ -90,12 +93,14 @@ Snabbimport: Klistra in länk eller fil
|
||||
|
||||
Klistra in:
|
||||
- **ICA-receptlänk** — systemet skrapar automatiskt receptet och importerar det
|
||||
- En länk omdirigeras till "Skriv in recept" med förifylld Markdown
|
||||
- **Andra receptlänkar** — fallback till generisk HTML/JSON-LD-parser
|
||||
- En lyckad import omdirigeras till "Skriv in recept" med förifylld Markdown
|
||||
|
||||
**Stödda webbplatser:**
|
||||
**Stödda källor:**
|
||||
- ICA.se — Recept skrapas automatiskt
|
||||
- Andra webbplatser — Generic HTML-parser (JSON-LD först, sedan HTML-fallback)
|
||||
- (PDF-import under utveckling)
|
||||
- PDF-filer — textutvinning från uppladdad PDF
|
||||
- Bildfiler — OCR via Tesseract (`swe+eng`) för PNG, JPG, JPEG, WEBP och BMP
|
||||
|
||||
**Felmeddelandena vägleder dig:**
|
||||
- "Länken är inte från ICA.se" — Försöker Generic parser istället
|
||||
@@ -138,7 +143,7 @@ Innehåller:
|
||||
|
||||
Klicka på **Lägg till nytt recept** i receptmenyn. Du får ett val mellan:
|
||||
1. **Skriv in recept** — Skriv receptet i Markdown-format med ingredienser och instruktioner
|
||||
2. **Importera från fil** — Ladda upp PDF, länk eller annan receptkälla (under utveckling)
|
||||
2. **Importera från fil** — Ladda upp PDF, bild eller ange receptlänk för automatisk tolkning
|
||||
|
||||
### Skriv in recept (Markdown)
|
||||
|
||||
@@ -184,11 +189,12 @@ Klicka "Spara recept" — receptet sparas med dina valida ingredienser
|
||||
Navigera till **Lägg till nytt recept → Importera från fil**
|
||||
|
||||
I denna sektion kan du:
|
||||
- Ladda upp PDF eller andra receptfiler
|
||||
- Ladda upp PDF-filer med inbyggd text
|
||||
- Ladda upp bilder (`png`, `jpg`, `jpeg`, `webp`, `bmp`) som tolkas med OCR
|
||||
- Ange URL till en receptsida eller blogg
|
||||
- Systemet tolkar filen/länken och föreslår ingredienser
|
||||
- Låta systemet omvandla resultatet till Markdown och öppna det i redigeringsläget
|
||||
|
||||
> **Notering:** Fil- och länk-import är under utveckling. För närvarande kan du använda "Skriv in recept" för att mata in receptet manuellt.
|
||||
> **Notering:** Importen använder PDF-textutvinning och Tesseract OCR för att ge en första receptversion som sedan kan granskas och sparas.
|
||||
|
||||
### Receptformat — regler
|
||||
|
||||
|
||||
Reference in New Issue
Block a user