The Movie Database Support

I'm building a media management app, that is probably best described as netflix for your personal media collection, and similar to plex (but supports low end machines, no streaming yet) - AND it's going to be completely free and open source. I've decided to use themoviedb as a basis for this application to make it easier for people to build out their collection, while maintaining various lists that can be subscribed to.

This is the general setup of the app, from install to everyday running, with some questions I have, too.

At install, should the app request that the user creates their own themoviedb account with an API key? I don't know if it makes sense that potentially hundreds of users would be making requests through one API key, but I am more than comfortable doing this. Should I be setting a request header that identifies my app (ie. X-TMDBAPP: myappname/mywebsitename.com)?

On first run, the user is prompted with:

  • Which directories their personal collection of movies are in
  • Which tmdb lists they want to subscribe to (with a few sane defaults, like top imdb 250, currently airing tv shows)
  • Bump them to a page that allows them to browse media

Daily use:

  • User can browse all media, under various collections/categories
  • Users can create or subscribe to movie/tv show lists/collections at any time, which will be publically available to any other person using the app (via themoviedb service).
  • Users can click on different titles to review their information
  • When a user clicks a title, it may build a cache bundle containing tmdb data (which can be flushed, or have a limited ttl)
  • If a user owns that title, they are able to launch it with a local video player (like vlc)
    • The app supports remote controlling, and will tie into the video players' ibus interface on linux (and mac?), still working on how this would work on windows
  • If the user does not own that title, they are given options to manually set the path to the movie locally, buy a digital copy, and potentially other options if they make sense.
  • Specified directories are periodically watched for new personal copies of digital content

The nice thing about doing it this way is that users don't have to have a huge collection of videos to have a good selection, it encourages people to buy digital copies, and most of all, makes their media very accessible.

So I guess most of my questions are related to the install process and caching. I noticed a bit of the clause in the API agreement that stated that cache should really only be when necessary - I don't want users to be making a ridiculous amount of requests every action a user does, because that would also violate the terms and agreements for the API.

Can't find a movie or TV show? Login to create it.

Global

s focus the search bar
p open profile menu
esc close an open window
? open keyboard shortcut window

On media pages

b go back (or to parent when applicable)
e go to edit page

On TV season pages

(right arrow) go to next season
(left arrow) go to previous season

On TV episode pages

(right arrow) go to next episode
(left arrow) go to previous episode

On all image pages

a open add image window

On all edit pages

t open translation selector
ctrl+ s submit form

On discussion pages

n create new discussion
w toggle watching status
p toggle public/private
c toggle close/open
a open activity
r reply to discussion
l go to last reply
ctrl+ enter submit your message
(right arrow) next page
(left arrow) previous page

Settings

Want to rate or add this item to a list?

Login