35 lines
3.1 KiB
Markdown
35 lines
3.1 KiB
Markdown
# Inventory Application Requirements
|
|
|
|
## 1. Description
|
|
A unified system to maintain an inventory of "items" and their quantities, inclusive of a web administration interface, offline field operations, audit logging, and AI-powered label extraction functionalities.
|
|
|
|
## 2. Core Constraints & System Elements
|
|
|
|
### 2.1 Main Application Server (Linux Backend)
|
|
* **Target Environment:** Dockerized Linux Environment.
|
|
* **Framework:** Python (FastAPI) + SQLite database.
|
|
* **Users & Security:** Support multiple authenticated users with distinct actions.
|
|
* **Audit Compliance:** **All operations** must maintain a strict audit log detailing who changed what and when.
|
|
|
|
### 2.2 Client Interface (PWA - Progressive Web App)
|
|
* **Unified Interface:** A single Web Application (Next.js or similar) that is fully responsive. It functions as the administration dashboard on desktop and as a mobile application on phones/tablets.
|
|
* **Installation:** Installed on mobile devices directly via the browser ("Add to Home Screen") to bypass App Stores. Completely managed by the main Linux Server.
|
|
* **Offline Mode:** Service Workers and local browser storage (IndexedDB) must cache the inventory catalog, allowing offline check-ins/check-outs. Modifications are synced to the Linux server upon network reconnection.
|
|
* **Hardware Access:** Must natively tap into the device's camera via HTML5 APIs to capture barcode data or full images.
|
|
|
|
### 2.3 Scanning & AI processing Cost-Optimization Strategy (Crucial)
|
|
* **Routine Operations (Check-in / Check-out):** Utilize client-side, offline Javascript libraries (e.g., `html5-qrcode`) to read 1D/2D barcodes directly in the browser's camera. This executes entirely on the local device unconditionally and uses no AI cloud credits.
|
|
* **New Item Onboarding (AI Label OCR):** When an unknown label is encountered or a specific new item is being created, the user takes a high-res photo. This photo is sent to the backend, which proxies a minimal request to a Cloud AI API (e.g., OpenAI / GPT-4 Vision).
|
|
* **Template Extraction:** The AI performs standard OCR & structure extraction based on strict prompting templates. The parsed elements are transmitted back to the client interface.
|
|
* **Validation Mask:** The client interface explicitly presents a selection mask. The user selects which parsed strings/fields map to specific Item properties (e.g., identifying the actual serial number while discarding vendor identifiers) before committing the Item to the database.
|
|
|
|
### 2.4 Data Models & Entities
|
|
* **Item:** Name, Category, Labels, Quantity, Image, Barcode / SKU.
|
|
* **Intervention:** Linked to a required items list.
|
|
* **Audit Log:** Immutable ledger detailing CRUD operations and stock fluctuations.
|
|
|
|
### 2.5 Workflows & Reporting
|
|
* **Reports:** Quantity aggregates across all items/categories, with historical tracking of item usage intervals (last month, last 6 months, last year).
|
|
* **Notifications:** Alert generation when stock drops below minimum quantities.
|
|
* **Intervention Planning:** Loading intervention lists (Text/Scanning). Check-outs must fulfill matching lists incrementally, while Check-ins reconcile unused stock.
|