## Backend (server/) - Express 5 API with security middleware (helmet, rate limiting) - SQLite database with WAL mode (schema from docs/architecture/) - Meilisearch integration with tenant tokens - BullMQ + Redis background job queue - OCR pipeline with Tesseract.js - File safety validation (extension, MIME, size) - 4 API route modules: upload, jobs, search, documents ## Frontend (client/) - Vue 3 with Composition API (<script setup>) - Vite 5 build system with HMR - Tailwind CSS (Meilisearch-inspired design) - UploadModal with drag-and-drop - FigureZoom component (ported from lilian1) - Meilisearch search integration with tenant tokens - Job polling composable - Clean SVG icons (no emojis) ## Code Extraction - ✅ manuals.js → UploadModal.vue, useJobPolling.js - ✅ figure-zoom.js → FigureZoom.vue - ✅ service-worker.js → client/public/service-worker.js (TODO) - ✅ glossary.json → Merged into Meilisearch synonyms - ❌ Discarded: quiz.js, persona.js, gamification.js (Frank-AI junk) ## Documentation - Complete extraction plan in docs/analysis/ - README with quick start guide - Architecture summary in docs/architecture/ ## Build Status - Server dependencies: ✅ Installed (234 packages) - Client dependencies: ✅ Installed (160 packages) - Client build: ✅ Successful (2.63s) 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
32 lines
622 B
Text
32 lines
622 B
Text
# Server Configuration
|
|
PORT=3001
|
|
NODE_ENV=development
|
|
|
|
# Database
|
|
DATABASE_PATH=./db/navidocs.db
|
|
|
|
# Meilisearch
|
|
MEILISEARCH_HOST=http://127.0.0.1:7700
|
|
MEILISEARCH_MASTER_KEY=your-master-key-here-change-in-production
|
|
MEILISEARCH_INDEX_NAME=navidocs-pages
|
|
|
|
# Redis (for BullMQ)
|
|
REDIS_HOST=127.0.0.1
|
|
REDIS_PORT=6379
|
|
|
|
# Authentication
|
|
JWT_SECRET=your-jwt-secret-here-change-in-production
|
|
JWT_EXPIRES_IN=7d
|
|
|
|
# File Upload
|
|
MAX_FILE_SIZE=50000000
|
|
UPLOAD_DIR=./uploads
|
|
ALLOWED_MIME_TYPES=application/pdf
|
|
|
|
# OCR
|
|
OCR_LANGUAGE=eng
|
|
OCR_CONFIDENCE_THRESHOLD=0.7
|
|
|
|
# Rate Limiting
|
|
RATE_LIMIT_WINDOW_MS=900000
|
|
RATE_LIMIT_MAX_REQUESTS=100
|