8.7 KiB
NaviDocs Single-Tenant Feature Roadmap
Version: 1.0 → 2.0 Target: Complete single-tenant boat manual management system Approach: Incremental implementation with backward compatibility
🎯 Vision
Transform NaviDocs from a demo into a production-ready single-tenant system with complete document lifecycle management, advanced search, and user preferences.
📋 Feature Categories
1. Document Management ⭐ (Priority 1)
- Upload with OCR
- View with text selection
- Auto-fill metadata
- Delete documents (with confirmation)
- Edit metadata (inline or modal)
- Bulk operations (select multiple, bulk delete)
- Document versions (track changes)
- Download original PDF
2. Advanced Search 🔍 (Priority 1)
- Full-text search
- Diagram thumbnails
- Filter by boat (dropdown)
- Filter by document type (manual, service, warranty)
- Filter by date range (uploaded date)
- Sort options (relevance, date, title)
- Search within document
- Recent searches (last 10)
- Search suggestions (autocomplete)
- Export search results (PDF/CSV)
3. User Experience 🎨 (Priority 2)
- Toast notifications
- Responsive design
- Dark theme
- Keyboard shortcuts (/, Ctrl+K for search, etc.)
- Bookmarks (save specific pages)
- Reading progress (remember last page)
- Print-friendly view
- Fullscreen mode
- Night mode toggle (darker theme)
4. Dashboard & Analytics 📊 (Priority 2)
- Statistics dashboard
- Total documents
- Total pages
- Storage used
- Most searched terms
- Recent activity
- Document health
- OCR status
- Missing metadata
- Indexing status
- Usage charts
- Searches over time
- Documents added over time
5. Settings & Preferences ⚙️ (Priority 1)
- Organization settings
- Organization name
- Default boat name
- Logo upload
- User preferences
- Theme (dark/light)
- Default search filters
- Items per page
- Language
- Storage management
- View storage usage
- Cleanup old files
- Export all data
6. Help & Onboarding 💡 (Priority 3)
- Interactive tour (first visit)
- Keyboard shortcuts guide
- Search tips
- Feature highlights
- FAQ section
7. Data Management 💾 (Priority 2)
- Export all documents (ZIP)
- Import from backup
- Activity log (audit trail)
- Database maintenance (vacuum, optimize)
8. Polish & Performance ⚡ (Priority 3)
- Comprehensive logging
- Error handling
- Image lazy loading
- PDF page caching
- Search result caching
- Compression for images
- Background job queue
🗓️ Implementation Plan
Phase 1: Core Management (Day 1)
Goal: Complete document lifecycle management
-
Document Deletion
- Add delete button to document cards
- Confirmation modal
- Backend endpoint
- Cleanup files, DB, and search index
- Toast notification on success
-
Metadata Editing
- Edit modal/form
- Update boat info, title, type
- Re-index search after update
- Optimistic UI updates
-
Download Original PDF
- Download button in document viewer
- Proper filename
Phase 2: Advanced Search (Day 1-2)
Goal: Make search powerful and flexible
-
Search Filters
- Boat filter (dropdown with all boats)
- Document type filter
- Date range filter
- Apply filters to search query
-
Search Enhancements
- Sort by relevance/date/title
- Recent searches (localStorage)
- Search within current document
-
Search Export
- Export results as PDF
- Export as CSV
Phase 3: Dashboard (Day 2)
Goal: Provide system overview and insights
-
Statistics Dashboard
- Total documents, pages, storage
- Recent uploads
- Popular searches
- Quick actions
-
Document Health
- Show processing status
- Identify issues
- Quick fixes
Phase 4: Settings & Preferences (Day 2-3)
Goal: Customizable experience
-
Settings Page
- Organization info
- User preferences
- Storage management
- Database maintenance
-
Theme Toggle
- Dark/light mode
- Persistent preference
Phase 5: UX Enhancements (Day 3)
Goal: Make it delightful to use
-
Keyboard Shortcuts
- / or Ctrl+K for search
- Arrow keys for navigation
- Escape to close modals
- Shortcuts help modal
-
Bookmarks
- Save favorite pages
- Quick access
- Manage bookmarks
-
Reading Progress
- Remember last page per document
- Resume reading
Phase 6: Polish & Testing (Day 3)
Goal: Production-ready quality
-
Performance Optimization
- Image lazy loading
- Caching strategies
- Compression
-
Testing
- E2E tests for new features
- Load testing
- Edge case handling
-
Documentation
- Update guides
- Feature screenshots
- API documentation
🎨 UI/UX Considerations
Design Principles
- Consistent: Follow existing pink/purple dark theme
- Intuitive: Common patterns (3-dot menus, icon buttons)
- Responsive: All features work on mobile
- Accessible: Keyboard navigation, ARIA labels
- Fast: Optimistic updates, caching
Component Additions
ConfirmDialog.vue- Reusable confirmation modalEditDocumentModal.vue- Edit document metadataSearchFilters.vue- Advanced search filter panelStatsCard.vue- Dashboard statistics cardsSettingsPanel.vue- Settings sectionsKeyboardShortcuts.vue- Shortcuts help modalBookmarksList.vue- Bookmarks sidebar
New Routes
/ # Home (existing)
/search # Search (existing)
/document/:id # Document viewer (existing)
/dashboard # New: Statistics dashboard
/settings # New: Settings page
/bookmarks # New: Bookmarks list
🔧 Backend Changes
New Endpoints
DELETE /api/documents/:id # Delete document
PATCH /api/documents/:id # Update metadata
GET /api/documents/:id/download # Download PDF
GET /api/stats # Get statistics
GET /api/search/history # Recent searches
POST /api/bookmarks # Add bookmark
GET /api/bookmarks # List bookmarks
DELETE /api/bookmarks/:id # Remove bookmark
GET /api/settings # Get settings
PATCH /api/settings # Update settings
POST /api/export # Export all data
Database Schema Additions
-- Bookmarks
CREATE TABLE bookmarks (
id INTEGER PRIMARY KEY AUTOINCREMENT,
documentId TEXT NOT NULL,
pageNumber INTEGER NOT NULL,
note TEXT,
createdAt INTEGER NOT NULL,
FOREIGN KEY(documentId) REFERENCES documents(id) ON DELETE CASCADE
);
-- Settings
CREATE TABLE settings (
key TEXT PRIMARY KEY,
value TEXT NOT NULL,
updatedAt INTEGER NOT NULL
);
-- Activity Log
CREATE TABLE activity_log (
id INTEGER PRIMARY KEY AUTOINCREMENT,
action TEXT NOT NULL,
entity TEXT,
entityId TEXT,
details TEXT,
createdAt INTEGER NOT NULL
);
⚠️ Breaking Changes Prevention
Backward Compatibility Strategy
- Add, don't replace: New endpoints alongside existing
- Optional features: All new features are additive
- Database migrations: Careful schema updates
- API versioning: Consider /api/v1 prefix for future
- Feature flags: Toggle new features on/off
Testing Strategy
- Existing tests must pass: All 8 E2E tests
- New tests for new features: Add to test suite
- Regression testing: Verify old features still work
- Manual testing: Complete user flow tests
📊 Success Metrics
Completion Criteria
- All priority 1 features implemented
- 15+ E2E tests passing
- < 100ms response time for all endpoints
- Zero console errors
- Mobile responsive verified
- Complete documentation updated
- Demo-ready with showcase
Quality Gates
- Code Quality: ESLint passing, no warnings
- Performance: Lighthouse score >90
- Tests: >80% feature coverage
- Documentation: All new features documented
- UX: User testing with 3+ scenarios
🚀 Deployment Checklist
- Run all tests
- Update environment variables
- Database migrations applied
- Backup existing data
- Performance testing
- Security audit
- Documentation updated
- Stakeholder demo
Next Steps: Begin Phase 1 implementation Timeline: 3-day sprint for complete feature set Goal: Production-ready single-tenant system with all features
Let's build something amazing! 🚢✨