Architecture: - database-schema.sql: Future-proof SQLite schema with Postgres migration path - meilisearch-config.json: Search index config with boat terminology synonyms - hardened-production-guide.md: Security hardening (queues, file safety, tenant tokens) Roadmap: - v1.0-mvp.md: Feature roadmap and success criteria - 2-week-launch-plan.md: Day-by-day execution plan with deliverables Debates: - 01-schema-and-vertical-analysis.md: Expert panel consensus on architecture Key Decisions: - Hybrid SQLite + Meilisearch architecture - Search-first design (Meilisearch as query layer) - Multi-vertical support (boats, marinas, properties) - Offline-first PWA approach - Tenant token security (never expose master key) - Background queue for OCR processing - File safety pipeline (qpdf + ClamAV)
3.8 KiB
3.8 KiB
NaviDocs v1.0 MVP Roadmap
Goal: Launch production-ready boat manual management platform
Timeline: 2 weeks intensive development
Target: Beta launch with 5-10 boat owners
Phase 1: Foundation (Week 1)
Day 1: Infrastructure Setup ✓
- Create NaviDocs repository
- Expert panel debates completed
- Schema design finalized
- Set up development environment
- Install dependencies (Node.js, Meilisearch, SQLite)
Day 2: Database & Queue System
- Implement SQLite schema (users, boats, documents, pages)
- Set up BullMQ or SQLite-based queue
- Create OCR job worker
- Test: Enqueue job → process → complete
Day 3: File Safety Pipeline
- Install qpdf and ClamAV
- Implement multi-layer validation
- Extension check
- Magic byte verification
- qpdf sanitization
- ClamAV malware scan
- Test: Upload malicious PDF → rejected
Day 4: Meilisearch Integration
- Configure Meilisearch index with settings
- Searchable attributes
- Filterable attributes
- Synonyms (boat terminology)
- Implement tenant token generation
- Create search service wrapper
Day 5: OCR Pipeline
- Implement Tesseract.js OCR extraction
- Page-by-page processing
- Index extracted text in Meilisearch
- Test: Upload PDF → OCR → searchable in < 5 min
Phase 2: Core Features (Week 2)
Day 6: Backend API
- POST /api/upload - with safety pipeline
- GET /api/jobs/:id - job status
- POST /api/search - with tenant tokens
- GET /api/documents/:id - retrieve document
- Helmet security headers
- Rate limiting
Day 7: Frontend Foundation
- Vue 3 + Vite setup
- Tailwind CSS configuration
- Meilisearch-inspired design system
- SVG icon library (clean, professional)
- Responsive layout
Day 8: Upload & Job Tracking
- File upload component
- Drag-and-drop support
- Progress bar (polls job status)
- Error handling and validation feedback
- Success state with document preview
Day 9: Search Interface
- Search bar with instant results
- Filters (system, category, boat)
- Result highlighting
- Pagination
- Sort options (relevance, date, page number)
Day 10: Document Viewer
- PDF.js integration
- Page navigation
- Search within document
- Highlight search terms
- Bookmarks (future: v1.1)
Phase 3: Polish & Launch (Weekend)
Day 11: Testing & Debugging
- Playwright end-to-end tests
- Upload flow
- Search flow
- Document viewing
- Cross-browser testing
- Mobile responsiveness
- Performance profiling
Day 12: Beta Launch
- Deploy to local environment
- Invite 5 beta testers
- Provide test manuals
- Monitor logs and usage
- Gather feedback
Success Criteria
Technical:
- Upload PDF → searchable in < 5 minutes
- Search latency < 100ms
- Synonym search works ("bilge" finds "sump pump")
- All fields display correctly
- Offline mode functional (PWA)
User Experience:
- Upload success rate > 95%
- Zero malicious files accepted
- Search relevance rated 4/5+ by users
- Mobile usable without zooming
Security:
- No master keys in client code
- Tenant tokens expire after 1 hour
- Rate limits prevent abuse
- All PDFs sanitized with qpdf
Post-MVP Roadmap (v1.1+)
Planned Features
- Multi-boat support
- Share manuals with crew
- Bookmarks and annotations
- Service history tracking
- Maintenance reminders
- Shared component library
- Mobile apps (iOS/Android)
- Semantic search (embeddings)
Future Verticals
- Marina/property management
- Waterfront HOA documentation
- Yacht club member resources
Status: In Development
Last Updated: 2025-01-19
Next Review: After beta launch