diff --git a/README.md b/README.md new file mode 100644 index 00000000..c9ecbd23 --- /dev/null +++ b/README.md @@ -0,0 +1,53 @@ +# 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. + +--- + +## 🛠 Project Modes + +This project supports three distinct operational modes: + +### 1. 🚀 Development Mode (Bare-Metal) +Ideal for local development on macOS/Linux. +* **Command:** `./start_server.sh` +* **Details:** Runs FastAPI (backend) and Next.js (frontend) in development mode. Uses `local-ssl-proxy` for HTTPS. +* **Backend:** http://localhost:8000 +* **Frontend:** https://localhost:3003 + +### 2. 🐳 Docker Mode (Recommended for Production) +Isolated and portable container stack. +* **Command:** `docker-compose up -d --build` +* **Details:** Uses Caddy as a reverse proxy for HTTPS. Persistent data and logs are mapped to `./data` and `./logs`. +* **Access:** https://localhost:3003 + +### 3. 🐧 Standalone Linux Mode (Systemd) +Native Linux installation (Alma/Debian/Ubuntu) without Docker dependencies. +* **Installation:** `sudo ./install_service.sh` +* **Execution:** `sudo systemctl start inventory` +* **Details:** Compiles the frontend for production and manages the entire stack as a system service. +* **Access:** https://:3003 + +--- + +## 📦 Production Distribution +To generate a clean production package without AI-agent metadata or development artifacts: +1. Run `./export_prod.sh` +2. A `.zip` archive will be created (e.g., `aInventory-PROD-v1.3.2.zip`). +3. This archive contains a specialized `README.txt` with deployment-only instructions. + +--- + +## 🏗 Technical Overview +* **Backend:** FastAPI (Python 3.12+) +* **Frontend:** Next.js 15+ (React PWA) +* **Database:** SQLite (SQLAlchemy) with Dexie.js (IndexedDB) for client-side sync. +* **Proxy:** Caddy (Docker) or local-ssl-proxy (Standalone/Dev). +* **AI Engine:** Google Gemini (Generative AI SDK). + +For more details, see [PROJECT_ARCHITECTURE.md](PROJECT_ARCHITECTURE.md). + +--- + +## 📜 AI Operational Rules +AI agents working on this project MUST follow the guidelines in [AI_RULES.md](AI_RULES.md). diff --git a/VERSION.json b/VERSION.json index 9bc53dee..06d4c523 100644 --- a/VERSION.json +++ b/VERSION.json @@ -1,12 +1,11 @@ { - "version": "1.3.2", - "last_build": "2026-04-11-1245", + "version": "1.3.3", + "last_build": "2026-04-11-1246", "commit": "PENDING", "changelog": [ + "v1.3.3: Added comprehensive project README.md documenting all operational modes", "v1.3.2: Systemd Standalone: Switched systemd service from Docker to bare-metal (Direct Python/Node management)", "v1.3.1: Systemd support added (Docker-compose based - DEPRECATED)", - "v1.3.0: Dockerization: Dual-mode architecture, standalone Next.js, Python logger, and prod export script", - "v1.2.9: Automatic IDE Entry Points (GEMINI.md, CLAUDE.md proxies)", - "v1.2.8: Absolute Documentation Consolidation (Unified ARCHITECTURE and AI_RULES)" + "v1.3.0: Dockerization: Dual-mode architecture, standalone Next.js, Python logger, and prod export script" ] } diff --git a/backend/logs/backend.log b/backend/logs/backend.log index 8dba8dc8..447c2f8d 100644 --- a/backend/logs/backend.log +++ b/backend/logs/backend.log @@ -264,3 +264,10 @@ [2026-04-11 12:43:32] [INFO] [uvicorn.error] Application startup complete. [2026-04-11 12:43:37] [WARNING] [uvicorn.error] Invalid HTTP request received. [2026-04-11 12:43:37] [INFO] [uvicorn.access] ::ffff:127.0.0.1:0 - "POST /exa.language_server_pb.LanguageServerService/GetUnleashData HTTP/1.1" 404 +[2026-04-11 12:43:54] [INFO] [uvicorn.access] ::ffff:192.168.84.140:0 - "GET /items/ HTTP/1.1" 200 +[2026-04-11 12:44:24] [INFO] [uvicorn.access] ::ffff:192.168.84.140:0 - "GET /items/ HTTP/1.1" 200 +[2026-04-11 12:44:54] [INFO] [uvicorn.access] ::ffff:192.168.84.140:0 - "GET /items/ HTTP/1.1" 200 +[2026-04-11 12:45:24] [INFO] [uvicorn.access] ::ffff:192.168.84.140:0 - "GET /items/ HTTP/1.1" 200 +[2026-04-11 12:45:54] [INFO] [uvicorn.access] ::ffff:192.168.84.140:0 - "GET /items/ HTTP/1.1" 200 +[2026-04-11 12:46:24] [INFO] [uvicorn.access] ::ffff:192.168.84.140:0 - "GET /items/ HTTP/1.1" 200 +[2026-04-11 12:46:54] [INFO] [uvicorn.access] ::ffff:192.168.84.140:0 - "GET /items/ HTTP/1.1" 200