## Features Added:
- **Automatic Documentation Generation**: Uses next-swagger-doc to scan API routes
- **Interactive Swagger UI**: Try-it-out functionality for testing endpoints
- **OpenAPI 3.0 Specification**: Industry-standard API documentation format
- **Comprehensive Schemas**: Type definitions for all request/response objects
## New Documentation System:
- `/docs` - Interactive Swagger UI documentation page
- `/api/docs` - OpenAPI specification JSON endpoint
- `src/lib/swagger.ts` - Documentation configuration and schemas
- Complete JSDoc examples for batch classification endpoint
## Documentation Features:
- Real-time API testing from documentation interface
- Detailed request/response examples and schemas
- Parameter validation and error response documentation
- Organized by tags (Classification, Captioning, Tags, etc.)
- Dark/light mode support with loading states
## AI Roadmap & Guides:
- `AIROADMAP.md` - Comprehensive roadmap for future AI enhancements
- `API_DOCUMENTATION.md` - Complete guide for maintaining documentation
## Benefits:
- Documentation stays automatically synchronized with code changes
- No separate docs to maintain - generated from JSDoc comments
- Professional API documentation for integration and development
- Export capabilities for Postman, Insomnia, and other tools
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
## Features Added:
- **Dual Model Classification**: ViT (objects) + CLIP (style/artistic concepts)
- **Image Captioning**: BLIP model for detailed photo descriptions
- **Auto-tagging**: Process all photos with configurable confidence thresholds
- **Tag Management**: Clear all tags functionality with safety confirmations
- **Comprehensive Analysis**: 15-25+ tags per image covering objects, style, mood, lighting
## New API Endpoints:
- `/api/classify/batch` - Batch classification with comprehensive mode
- `/api/classify/comprehensive` - Dual-model analysis for maximum tags
- `/api/classify/config` - Tunable classifier parameters
- `/api/caption/batch` - Batch image captioning
- `/api/tags/clear` - Clear all tags with safety checks
## UI Enhancements:
- Auto-tag All button (processes 5 photos at a time)
- Caption All button (processes 3 photos at a time)
- Clear All Tags button with confirmation dialogs
- Real-time progress bars for batch operations
- Tag pills displayed on thumbnails and image modal
- AI-generated captions shown in image modal
## Performance Optimizations:
- Uses cached thumbnails for 10-100x faster processing
- Parallel model initialization and processing
- Graceful fallback to original files when thumbnails fail
- Configurable batch sizes to prevent memory issues
## Technical Implementation:
- Vision Transformer (ViT) for ImageNet object classification (1000+ classes)
- CLIP for zero-shot artistic/style classification (photography, lighting, mood)
- BLIP for natural language image descriptions
- Comprehensive safety checks and error handling
- Database integration for persistent tag and caption storage
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Install react-share library and add native sharing to ImageModal
- Replace Facebook-specific sharing with Web Share API for broader compatibility
- Extract GPS location from EXIF data for enhanced share text
- Support file sharing with fallbacks to URL/clipboard for unsupported devices
- Add smart share text generation with location coordinates and camera info
- Perfect for private hosts - shares actual files without external URLs
- Update CLAUDE.md with completed roadmap items and coding standards
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add photo_conflicts table for files with same path but different content
- Implement SHA256-based duplicate detection in file scanner
- Add conflict detection methods to PhotoService
- Skip identical files with info logging, store conflicts with warnings
- Fix infinite scroll pagination race conditions with functional state updates
- Add scroll throttling to prevent rapid API calls
- Enhance PhotoThumbnail with comprehensive EXIF date/time display
- Add composite React keys to prevent duplicate rendering issues
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Create ImageModal component with professional photo viewing experience
- Support zoom in/out, pan, rotate, and full-screen display
- Add photo navigation with arrow keys and previous/next buttons
- Include comprehensive keyboard shortcuts and visual controls
- Implement proper image centering and aspect ratio preservation
- Create full-resolution image API endpoint with range request support
- Display rich EXIF metadata in modal header with camera settings
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add leftIcon prop to Button component for Tabler icons
- Support custom icon sizes with iconSize prop (defaults to 16px)
- Update button layout with flex, gap, and responsive padding
- Add IconScan to Scan button in DirectoryList for better UX
- Improve button spacing in DirectoryList with gap-2 and mt-2
- Maintain backward compatibility for existing buttons
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Install better-sqlite3 for embedded SQLite support
- Create complete database schema with photos, albums, tags, directories tables
- Add PhotoService class with full CRUD operations and relationships
- Create comprehensive API endpoints for photos, albums, directories, and stats
- Add DirectoryList component with delete functionality and visual feedback
- Implement directory saving to database when user selects path
- Add automatic refresh of directory list when new directories are saved
- Update Button component with enhanced enabled/disabled states and animations
- Add Tab key handling to hide suggestions in directory modal
- Update .gitignore to exclude SQLite database files
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add arrow key navigation for autosuggestion dropdown
- Add scroll-into-view for long suggestion lists
- Add enter key selection for highlighted suggestions
- Add README with macOS CIFS share access instructions
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Set up Next.js 15 with TypeScript and Tailwind CSS v4
- Configured responsive layout with header, sidebar, and main content area
- Implemented directory scan modal with real-time validation
- Added reusable Button component with primary/secondary variants
- Created API endpoint for server-side directory validation
- Integrated Tabler icons for UI feedback
- Configured PostCSS with @tailwindcss/postcss for proper styling
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>