# TECHNICAL STACK - SINGLE SOURCE OF TRUTH This document defines the official technology stack for the Inventory System. All components must adhere to these versions and libraries. ## 🟢 Backend (API & Data) - **Language:** Python 3.12+ (Optimized for performance and type safety) - **Framework:** [FastAPI](https://fastapi.tiangolo.com/) (Async ASGI) - **Database:** SQLite (SQLAlchemy) - Local file-based persistence - **Validation:** Pydantic v2 - **Auth:** Hybrid LDAP (python-ldap) + PBKDF2 local password hash caching (v1.2.4) - **AI Engine:** Google GenAI SDK (Gemini 2.0 Flash) - Location: `backend/ai/` ## 🔵 Frontend (Web & PWA) - **Architecture:** [Next.js](https://nextjs.org/) 15+ (App Router) - **Styling:** Tailwind CSS (Readability-first config: No uppercase/tracking-widest) - **Icons:** [Lucide Icons](https://lucide.dev/) (React components) - **Offline persistence:** [Dexie.js](https://dexie.org/) (IndexedDB wrapper) - **Scanner:** `html5-qrcode` (Client-side, offline-only) - **Sync:** Axios with bulk-sync idempotency (UUID-based) ## 🏗 Operations & Tooling - **PWA Deployment:** `next-pwa` (Service Workers + Manifest.json) - **HTTPS Proxy:** `local-ssl-proxy` (Required for mobile camera access) - **Version Control:** Git (Local-first, path in `.git_path`) - **Isolation:** Python `.venv` and Node `node_modules`