navidocs/docs/roadmap/v1.0-mvp.md
ggq-admin 9c88146492 docs: Complete architecture, roadmap, and expert panel analysis
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)
2025-10-19 01:22:42 +02:00

153 lines
3.8 KiB
Markdown

# 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 ✓
- [x] Create NaviDocs repository
- [x] Expert panel debates completed
- [x] 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