- Introduced a .dockerignore file to exclude unnecessary files from Docker builds.
- Created a Dockerfile for building the Next.js application with optimized production settings.
- Added a docker-compose.yml file for orchestrating services, including NextAV, FFmpeg, and Nginx.
- Refactored database access to use a singleton pattern for better management and initialization of the SQLite database.
- Updated API routes to utilize the new database access method, enhancing consistency across the application.
- Added a comprehensive performance optimization plan detailing phases for API pagination, frontend memory optimization, file system scanning, database performance, and caching strategies.
- Implemented pagination for bookmarks, photos, and videos APIs, including limit/offset parameters and server-side filtering and sorting.
- Enhanced database queries with indexes for improved performance and added total count for pagination responses.
- Updated frontend components to utilize virtualized lists for better memory management and user experience.
- Implemented bookmark functionality allowing users to bookmark/unbookmark videos.
- Added star rating feature enabling users to rate videos from one to five stars.
- Updated database schema to include bookmarks and stars tables, along with necessary indexes for performance.
- Enhanced inline video player UI to display bookmark status and average star rating, improving user interaction and feedback.
- Added API endpoint to retrieve files from a specified directory.
- Created API for managing media libraries (GET, POST, DELETE).
- Implemented scanning functionality for media libraries.
- Developed video listing page with API integration.
- Introduced folder viewer component to navigate file system.
- Enhanced settings page for managing libraries and initiating scans.
- Built sidebar component for navigation with dynamic library links.
- Established UI components for buttons, cards, and inputs.
- Set up SQLite database schema for libraries and media.
- Integrated thumbnail generation for video files during scanning.
- Configured Tailwind CSS for styling and responsive design.