# TODO LIST

## V1
- [ ] Docker
  - [x] Auto build docker image
  - [ ] Add Env variables to auto config
- [x] Theme
  - [x] Plex
- [x] Installer
  - [x] Checking Configuration server
  - [x] Connect to the database
  - [x] Create tables
  - [x] Add one PlexServer and check connection
  - [x] Create Admin account
  - [ ] Cli installer
- [x] Registration User
- [x] Login User
- [x] Browse Server
  - [x] List Libraries
  - [x] List TV Shows
  - [x] List TV Show Seasons
  - [x] List Movies and TV Shows Movies
- [ ] Main Interface by server
  - [x] List Libraries
  - [x] List last Movies
  - [x] List last TvShow
  - [ ] Search
    - [x] By Movie Name
    - [x] By TvShows Name
    - [x] By Episode Name
- [ ] Panel Configuration
  - [x] Enable/Disabled registration
  - [ ] Force user to use token on registration
  - [ ] Enable/Disable Queue to limit connection
  - [ ] Enable/Disable Guest account with limited permissions
  - [ ] Enable/Disable Achievements
  - [ ] Allow user to add his self Plex Server
  - [ ] Enable/Disable Sub-accounts
- [ ] Movies
  - [x] Title
  - [x] Description
  - [x] Note
  - [x] Other information like in Plex
  - [ ] Select quality
  - [ ] Select audio language
  - [ ] Select subtitle language
- [ ] TV Show
  - [x] List Season
  - [x] List Episode in Season
  - [x] Title
  - [x] Description
  - [x] Note
  - [x] Other information like in Plex
  - [ ] Select quality
  - [ ] Select audio language
  - [ ] Select subtitle language
- [ ] Streaming
  - [x] Basic options (Play, pause, next...)
  - [x] Implement Video Player
  - [ ] Select Quality
  - [ ] Select Audio
  - [ ] Select Subtitles
- [ ] Management PlexServer
  - [x] List servers
  - [X] Add server
  - [X] Edit server
  - [X] Disable Server
  - [ ] Delete server
  - [ ] Check state and latence (cron)
- [ ] Management Libraries
  - [x] List libraries
  - [x] Disable library
  - [x] Add permition to library
  - [ ] Add permition to user
- [ ] Management User
  - [ ] Edit profil
- [x] Documentation
  - [x] Nginx
  - [x] Docker
  - [x] Cron

## OTHER Version
- [ ] Theme
  - [ ] Netflix [OTHER]
- [ ] Cache
  - [ ] Cache Libraries [OTHER]
  - [x] Cache Media MetaData
  - [ ] Cache SQL request [OTHER]
  - [ ] Migrate Cache to redis for performance
- [ ] Streaming
  - [ ] Implement Video Player that stay when we change of page [OTHER]
- [x] Management PlexServer
  - [x] Stream directly from PlexServer or use the site like a web-proxy
- [ ] Management User
  - [ ] Add sub-account [OTHER]
  - [ ] Edit sub-account [OTHER]
  - [ ] Delete sub-account [OTHER]
  - [ ] List of session [OTHER]
  - [ ] Ban IP [OTHER]
  - [ ] Delete Account [OTHER]
  - [ ] Limit access by ip [OTHER]
- [ ] Management Permission
  - [ ] Limit Quality [OTHER]
  - [ ] Limit number streaming [OTHER]
