nextav/CLAUDE.md

7.8 KiB

NextAV - Modern Media Library Management System

📋 Project Overview

A production-ready, YouTube-like media library management system built with Next.js, featuring intelligent content organization, zero-transcoding streaming, and advanced recommendation capabilities.

Current Status: PRODUCTION READY - All core features implemented and tested


COMPLETED FEATURES

🎯 Core Requirements (All Implemented)

  1. YouTube-like UI - Modern interface with collapsible sidebar and video cards
  2. Media Library System - SQLite-based with library scanning and management
  3. Large Scale Support - Virtual scrolling handles 10,000+ files efficiently
  4. Multi-media Support - Videos, photos, and text files with dedicated viewers
  5. Library Management - Add/remove libraries through settings interface
  6. Database Schema - 8 tables with proper relationships and indexes
  7. Thumbnail Generation - FFmpeg-based with hashed folder structure
  8. Bookmark System - Video bookmarking with persistent storage
  9. Star Rating - 1-5 star rating system with averages
  10. Text Viewer - Enhanced requirement: Text file viewing capability
  11. Docker Deployment - Multi-stage builds with docker-compose

🚀 Advanced Features (Production Ready)

Library Cluster System

  • Status: Complete (12 documentation files)
  • Features: Organize libraries into color-coded clusters with icons
  • Components: Database schema, 9 API endpoints, UI management, statistics
  • Performance: Virtual scrolling for large datasets

Zero-Transcoding Media Streaming

  • Status: Complete (8 documentation files)
  • Innovation: Eliminated server-side transcoding (0% CPU usage)
  • Technology: Direct streaming + local player fallback
  • Compatibility: VLC, Elmedia, PotPlayer, IINA, mpv integration
  • Formats: Native browser support + local player for complex formats

Surprise Me Recommendation Engine

  • Status: ⚠️ MVP Ready (3/7 algorithms implemented)
  • Features: Intelligent content discovery with media access tracking
  • Algorithms: Unwatched First, Weighted Random, Pure Random (active)
  • Database: media_access table for recommendation analytics
  • Next Phase: 4 additional algorithms planned

Unified Video Player

  • Status: Complete with ArtPlayer integration
  • Features: Bookmark/rating within player, format detection
  • Fallback: Automatic local player launcher for unsupported formats
  • Performance: Optimized streaming with HTTP range requests

📊 Technical Implementation

Architecture

  • Frontend: Next.js 15.5.0 + React 19.1.0 + TypeScript
  • Styling: TailwindCSS v3.4.17 (fully compliant)
  • Database: SQLite with better-sqlite3 (8 relational tables)
  • Media Processing: FFmpeg for thumbnails and format detection
  • Video Player: ArtPlayer with HLS.js support
  • Deployment: Docker multi-stage builds

Database Schema

-- Core Tables
libraries (id, path) -- Media library paths
media (id, library_id, path, type, title, size, thumbnail, rating, bookmarks) -- Media files
clusters (id, name, color, icon) -- Library organization  
bookmarks (id, media_id) -- User bookmarks
stars (id, media_id, rating) -- 1-5 star ratings
media_access (id, media_id, access_type) -- Recommendation tracking

API Endpoints

  • Libraries: 4 endpoints (CRUD + scanning)
  • Media: 6 endpoints (streaming, thumbnails, bookmarks, ratings)
  • Clusters: 9 endpoints (full cluster management)
  • Recommendations: 2 endpoints (Surprise Me system)
  • System: 4 endpoints (health, status, processes)

🎨 UI/UX Features

Sidebar Navigation

  • Collapsible design with smooth animations
  • Sections: Home, Videos, Photos, Bookmarks, Surprise Me, Settings
  • Library clusters with color coding and custom icons
  • Expandable/collapsible library sections

Video Cards

  • 80% thumbnail display, 20% metadata (path, size)
  • Click-to-play with unified video player
  • Bookmark and rating integration
  • Virtual scrolling for performance

Video Player

  • Modal popup with full controls
  • Fullscreen, fast-forward, seek functionality
  • In-player bookmark and rating
  • Automatic format detection and fallback

Folder Viewer

  • Hierarchical navigation with breadcrumbs
  • Thumbnail previews for media files
  • Folder bookmarking system
  • Cluster-aware organization

🚢 Deployment & Operations

Docker Configuration

  • Multi-stage Dockerfile: Optimized for production
  • Docker Compose: Complete stack with health checks
  • Volume Management: Persistent data and media storage
  • Private Registry: http://192.168.2.212:3000/tigeren/

Performance Optimizations

  • Virtual Scrolling: Handles 10,000+ files efficiently
  • Database Indexes: Optimized for all query patterns
  • API Caching: 5-minute cache headers
  • Turbopack: Fast development builds
  • Bundle Optimization: 141kB shared + feature chunks

📈 Build Status

  • Compilation: Clean build with Turbopack
  • TypeScript: No type errors
  • Linting: Code quality checks pass
  • Bundle Analysis: Optimized chunk distribution
  • 29 Pages: Successfully generated (static + dynamic)

📁 Documentation

Comprehensive documentation organized by feature areas:

docs/
├── FEATURE_STATUS.md              # Current implementation status
├── DOCUMENTATION_ORGANIZATION.md  # Documentation guide
├── active/                       # Production features
│   ├── library-clusters/         # 12 documents
│   ├── media-streaming/          # 8 documents  
│   ├── recommendations/          # 6 documents
│   └── fixes-enhancements/       # 4 documents
├── planning/                     # Future enhancements
└── archive/                      # Historical documentation

🔄 Development Workflow

Rules

  1. Build Verification: pnpm build after all changes
  2. Debug Logs: Preserve until explicitly told to remove
  3. Documentation: New guides in docs/ folder (markdown)

Scripts

pnpm dev          # Development server
pnpm build        # Production build with verification
pnpm buildprod    # Production build (no turbopack)
pnpm start        # Production server

🎯 Next Development Priorities

High Priority (Current Sprint)

  1. Complete Surprise Me: Implement remaining 4 recommendation algorithms
  2. Performance Testing: Validate with 50,000+ file datasets
  3. Mobile Optimization: Ensure responsive design across devices

Medium Priority (Next Release)

  1. Advanced ML: Machine learning recommendation improvements
  2. User Preferences: Personalization settings interface
  3. Analytics Dashboard: Usage metrics and performance monitoring

Low Priority (Future)

  1. API Documentation: OpenAPI specification
  2. Video Tutorials: User and developer guides
  3. Advanced Analytics: Detailed usage insights

📊 Validation Summary

  • All 11 core requirements implemented and tested
  • All UI specifications met with modern design
  • All deployment requirements configured
  • Enhanced requirements (text viewer, hashed thumbnails) completed
  • Advanced features (clusters, recommendations) production ready
  • ⚠️ Partial implementation: Surprise Me (3/7 algorithms)

Overall Status: 🟢 PRODUCTION READY with active enhancement development


Last Updated: October 13, 2025
Build Status: Verified
Documentation Status: Organized and Complete