nextav/PRD.md

1.9 KiB

Project Description: This is a nextjs project, basically a youtube like video sites. the tailwindcss is v3 version. must ensure all the css related tailwind sytling code should comply with the v3 standard

Feature requirement:

  1. Has a youtube like UI
  2. has a concept of media library. each library is a path that mounted in the /mnt
  3. has the ability to scan the media libaries
  4. the quntitiy of media files can be vast, tens of thousands videos
  5. the media can work with photos and videos
  6. user can manage(add/remove) the media libraries.
  7. there should be a database(sqlite) to save the media informations
  8. there should be at least two tables in the database, one to keep the video informations, such as path, size, thumbnails, title, etc(not limit to these); one to keep the media libraries. videos should be linked to the library
  9. thumbnail generate feature

UI:

  1. two main areas, left is the left sidebar, right is the main video area
  2. side bar can be expanded and collapsed
  3. sidebar should have these sections: Settings, Videos, Photos, Folder Viewer
  4. Settings section: open manage page in the main area, allow user to add media library path; delete library.
  5. Videos section: open video cards page in the main area, each card has thumbnail pic displayed. the card lower part display video path, size. 5.1. the video card has 2 part, 80% of the upper area shows the thumbnail of the video, 20% of the lower part shows the video path, size in GB/MB, depends on the actual size of the video.
  6. photo section: TBD
  7. folder viewer: list libraries in the side bar folder viewer section. once one of the folder is selected, display the folder sturcture in the main area. the vdieo or photo display thunbnail and information as the video card would do. for the folder, display the folder icon, which can be entered in
  8. the video card can be clicked, once clicked, a poped up video player will be displayed. it can be closed, fast forward, expand to full screen, etc.