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

63 lines
1.7 KiB
Markdown

# 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
```bash
npm install
npm run dev
```
Camera access requires HTTPS except on `localhost`.
## Quality checks
```bash
npm test
npm run lint
npm run build
```
## Local-first model
```text
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](./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.