Admin da34221539
Some checks failed
CI / verify (push) Has been cancelled
mirror: fieldlens d38e0922441a (1/2)
2026-09-23 01:14:28 +00:00
..
2026-09-23 01:14:28 +00:00
2026-09-23 01:14:28 +00:00

FieldLens Core

FieldLens Core is the reusable, local-first capture engine extracted from the FieldLens prototype.

It provides browser-based barcode capture, EAN pallet verification, carton-label OCR/conformity workflows, offline IndexedDB storage, device/orientation handling, and PWA support without requiring a hosted backend.

Goals

  • Keep capture workflows usable offline.
  • Keep scanner, OCR, validation, and persistence logic independent from any specific backend.
  • Expose clear integration seams for APIs, ERPs, databases, and other providers.
  • Avoid shipping service credentials or infrastructure-specific configuration in the browser.

Stack

  • React + TypeScript + Vite
  • Dexie / IndexedDB
  • ZXing
  • Three.js
  • Vite PWA
  • Vitest

Development

npm install
npm run dev

Camera access requires HTTPS except on localhost.

Quality checks

npm test
npm run lint
npm run build

Local-first model

capture workflow
      ↓
 IndexedDB
      ↓
integration boundary
  ├─ API / database
  ├─ ERP
  ├─ reporting
  └─ custom provider

The public core intentionally contains no deployment-specific configuration and no direct account integration. Production hosts can add authentication, remote persistence, sync/outbox processing, tenancy, and provider adapters without making capture dependent on network availability.

Arrowstack plan

See ARROWSTACK_PLAN.md for the production integration plan covering Keycloak authentication, offline sync/outbox, PostgreSQL, station/device registration, deployment, observability, and MCP integration.

Origin

Extracted from the private dmparrow/net FieldLens prototype. That repository remains unchanged and separate from this public core.