# TFM aInventory (2026 Edition) A unified, offline-first Inventory Management System built as a Progressive Web App (PWA). Features include AI-powered label extraction (OCR), local barcode/QR scanning, and multi-user authentication with LDAP support. --- ## 🚀 Quick Start (Production) For production environments, Docker is the recommended deployment method: ```bash git clone tfm-inventory cd tfm-inventory # [D-08] Configuration - Copy examples to actual config files for f in config/*.yaml.example; do cp "$f" "${f%.example}"; done # Edit config/secrets.yaml with your JWT_SECRET_KEY and AI keys nano config/secrets.yaml # Deploy using the new Python deployment script python3 scripts/deploy.py production ``` - **Frontend**: http://localhost:3000 (or https://localhost:8919 via proxy) - **Backend API**: http://localhost:8000/docs For detailed configuration reference, see **[config/README.md](config/README.md)**. For detailed deployment instructions (Docker vs Standalone), see **[DEPLOYMENT.md](DEPLOYMENT.md)**. --- ## 🏗 Technical Overview * **Backend:** FastAPI (Python 3.12+) * **Frontend:** Next.js 15+ (React PWA) with responsive Tailwind CSS * **Database:** SQLite (SQLAlchemy) with Dexie.js (IndexedDB) for client-side sync. * **AI Engine:** Google Gemini (Primary) & Anthropic Claude (Fallback). * **Configuration:** [D-07] Consolidated YAML-based config in `config/` directory. For more details on system logic, see **[PROJECT_ARCHITECTURE.md](PROJECT_ARCHITECTURE.md)**. --- ## 🔐 Security & Constraints AI agents and developers MUST strictly follow the rules defined in **[AI_RULES.md](AI_RULES.md)**. - **No Uppercase UI**: All labels/headers must be normal case. - **No Bold Fonts**: Text hierarchy is achieved through size and color. - **Offline-First**: All features must function without an active network connection. --- ## 📦 Production Distribution To generate a clean production package: `python3 scripts/save_version.py --patch` (or `--minor`/`--major`) --- **Last Updated**: 2026-04-25 **Version**: 1.14.25 (Phase 7.1)