navidocs/README.md
ggq-admin 155a8c0305 feat: NaviDocs MVP - Complete codebase extraction from lilian1
## 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>
2025-10-19 01:55:44 +02:00

93 lines
1.9 KiB
Markdown

# NaviDocs - Professional Boat Manual Management
**Production-ready boat manual management platform with OCR and intelligent search**
Built with Vue 3, Express, SQLite, and Meilisearch. Extracted from the lilian1 (FRANK-AI) prototype with clean, professional code only.
---
## Features
- **Upload PDFs** - Drag and drop boat manuals
- **OCR Processing** - Automatic text extraction with Tesseract.js
- **Intelligent Search** - Meilisearch with boat terminology synonyms
- **Offline-First** - PWA with service worker caching
- **Multi-Vertical** - Supports boats, marinas, and properties
- **Secure** - Tenant tokens, file validation, rate limiting
---
## Tech Stack
### Backend
- **Node.js 20** - Express 5
- **SQLite** - better-sqlite3 with WAL mode
- **Meilisearch** - Sub-100ms search with synonyms
- **BullMQ** - Background OCR job processing
- **Tesseract.js** - PDF text extraction
### Frontend
- **Vue 3** - Composition API with `<script setup>`
- **Vite** - Fast builds and HMR
- **Tailwind CSS** - Meilisearch-inspired design
- **Pinia** - State management
- **PDF.js** - Document viewer
---
## Quick Start
### Prerequisites
```bash
# Required
node >= 20.0.0
npm >= 10.0.0
# For OCR
pdftoppm (from poppler-utils)
tesseract >= 5.0.0
# For search
meilisearch >= 1.0.0
# For queue
redis >= 6.0.0
```
### Installation
```bash
# Clone repository
cd ~/navidocs
# Install server dependencies
cd server
npm install
cp .env.example .env
# Edit .env with your configuration
# Initialize database
npm run init-db
# Install client dependencies
cd ../client
npm install
# Start services (each in separate terminal)
meilisearch --master-key=masterKey
redis-server
cd ~/navidocs/server && node workers/ocr-worker.js
cd ~/navidocs/server && npm run dev
cd ~/navidocs/client && npm run dev
```
Visit http://localhost:5173
---
## Architecture
See `docs/architecture/` for complete schema and configuration details.
**Ship it. Learn from users. Iterate.**