nextav/CLAUDE.md

209 lines
7.8 KiB
Markdown

# 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** ✅
```sql
-- 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**
```bash
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*