26 lines
1.3 KiB
Markdown
26 lines
1.3 KiB
Markdown
# 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`
|