π₯ A gorgeous Desktop UI for your digital movie collection, works on Mac, Windows, and Linux!
Have a digital movie collection?
Cinematic is a desktop app to beautifully organize and automatically retrieve information about your digital movie collection, so you can spend less time searching and more time watching.
Point Cinematic to the movie folder on your computer to scan and retrieve movie posters, ratings, trailers and much more about any movie files found. Organize your movies by genre and sort by popularity, release date, runtime, or randomize things.
Cinematic prefers filenames like Independence Day [1996].mp4
but will happily parse torrent-style Movies.That.Look.Like.This.2015.HDRip.XviD.XXX-XXX.AVI
.
- π Filter movies by genre
- π Sort movies by name, popularity, release date, runtime, or randomly
- π₯ Read plotlines and summarys before watching
- π¬ Watch multiple trailers
- π₯ Jump straight to the IMDB page
- π± Keep track of recently viewed and recently watched
- π Cycle through ratings from IMDB, TMDB, and Metacritic
- βοΈ Network throttled requests to avoid timeouts
- π Built-in caching of genres and movies
- Title
- Plot summary
- Release date
- Multiple trailers
- Poster + backdrop images
- Genres
- Ratings from IMDB, TMDB, and Metacritic, and current popularity
- MPAA rating
- Actors, Director, Writer
- Awards
- Runtime
UI design by ShadCN
Original interface design by Steve Hernandez.
- Built with Electron
- APIs provided by TMDB and OMDB
Update Oct. 27, 2019: Currently refactoring the codebase to make a clear upgrade path to faster, leaner product.
- Save images to cache
- A11y - tab index, keyboard controls
- Speed boost
- File open dialog
- Windows Release
Please post any questions or issues you come across to our issues page.
# Run dev app
yarn start
# Build app for production
yarn package
Imports must be relative (the alias @
is only available in the renderer process).
main/main
is run.
If there is a previous session it will be restored. The directory is scanned again, and new files are added, missing files are marked deleted, and existing files are loaded from cache, checked for:
- Cache expiration;
- Missing tmdb/omdb/trailers metadata
- basic equality checks (file size, last modified date)
If any of the above are true, the file is sent to the queue to fetch updated metadata.
You may use the alias @
to import from the src
directory.
Entry is src/renderer/App
, which contains the router. Routing is handled by react-router. Instead of <a>
elements, use <Link to={"/my/path"}>
elements from react-router-dom
.
To open links in the user's default browser, use the <ExternalLink>
component from src/renderer/components/ExternalLink
.
β€οΈ Based on electron-react-boilerplate. β€οΈ