Nils-Johan Gynther a1dffef708
Test Suite / test (24.15.0) (push) Has been cancelled
docs: update technical documentation with import field harmonization details
Added detailed section about harmonization of import fields between receipt-import, flyer-import, and inventory table. Includes key changes, benefits, and technical details about TypeScript type safety and backward compatibility. Resolves migration issues via prisma migrate resolve.
2026-05-25 08:14:55 +02:00

Microservice Importer

Intern import-tjänst (importer-api) för recipe-app. Den hanterar URL-skrapning, OCR, PDF-parsning och AI-kvittoparsning utan databas. Tjänsten körs som Docker-tjänst på det interna recipe-internal-nätverket och exponeras inte externt.

Dokumentstatus (2026-05-12)

Det här dokumentet är skrivet för systemadministratörer och utvecklare som driftar eller vidareutvecklar importtjänsten. För arkitektur, drift och tekniska detaljer, se TEKNISK_BESKRIVNING.md. För roadmap och prioriteringar, se next_steps_MSImporter.md.

Vad tjänsten gör

  • Tar emot URL:er, filer och markdown för importflöden
  • Skrapar receptsidor och extraherar imageUrl när det finns
  • Kör OCR för bilder och skannade dokument
  • Tolkar kvitton via Mistral AI
  • Returnerar strukturerad data till recipe-app utan att lagra någon session eller databaspost

Flöden

  • POST /api/quick-import för URL-skrapning, bild-OCR och PDF-import
  • POST /api/recipes/parse-markdown för markdown till strukturerat recept
  • POST /api/receipt-import/parse för kvittobild eller PDF till ParsedReceiptItem[]
  • GET /api/health för Docker healthcheck

Viktigt

  • Inga absoluta Windows-sökvägar ska användas i kod eller scripts
  • Tjänsten är stateless
  • Ingen databas är konfigurerad i tjänsten
  • Host-port 3001 används av wetty på servern och får därför inte exponeras av importtjänsten

Kort faktadel

  • Runtime: Node.js 22-alpine
  • Ramverk: NestJS 11 + TypeScript 5
  • OCR: tesseract.js
  • PDF: pdf-parse med pdfjs-dist/legacy fallback
  • AI: @mistralai/mistralai
  • Upload: multer 2.1.1
  • Alpine-paket: tesseract-ocr, tesseract-ocr-data-swe, tesseract-ocr-data-eng

Saker att veta efter uppgradering

  • Backendberoenden är uppgraderade till NestJS 11-serien och multer 2.1.1 för att adressera kända audit-varningar.
  • CI/node-miljö bör vara Node.js 22 (eller minst Node.js 20.11 för Nest CLI 11).

Support

  • Git repo: Gitea på 192.168.50.2:2222/nilsjohan/microservice-importer
S
Description
A small importer service
Readme 675 KiB
Languages
TypeScript 98.2%
Dockerfile 1.7%
JavaScript 0.1%