Self-hosted open source media-tracker for tv shows and movies.
The project is work in progress, right now you can:
- Search tv shows and movies
- Explore trending tv shows and movies
- Explore seasons of a tv show
- Explore related (similar, recommended) media of a tv show or movie
- Track/untrack tv shows and movies
- Mark/unmark tv shows and movies as watched
- Mark/unmark individual seasons of tv shows as watched
- Mark/unmark individual episodes of tv shows as watched
- See all your tracked (to do) tv shows and movies on one page
- See all your watched (done) tv shows and movies on one page
It comes with convenient features like the automatic selection of the latest season watched. However, I don’t consider this version as feature complete. In the long run, it should also cover other media like books and maybe games.
Styling is currently based on Semantic UI React, so that it can be easily picked-up by the community. There’s no theme, or much design optimization done at the moment, because it wasn’t a priority.
As it’s work in progress, there are no tests and error handling yet. Use at your own risk.
Video demonstration on YouTube.
Usage and development
The project is split into
server. Latter is a simple JSON Server at the moment.
Clone the repository and change into the
client folder. Install dependencies:
Repeat for the
The project uses the TMDb API and requires an API key. After creating an account on TMDb, you can request an API key under
Profile > Settings > API. Please add your key in
Afterwards open two separate terminal windows and run
npm start in the
client folder as well as the
client (frontend) will run at
http://localhost:3000 (opens automatically), and the
server (backend) will run on port 3001.
Used style guides (enforced with ESLint):
This project was bootstrapped with Create React App, so all its scripts are available in the
npm start npm test npm run build npm run eject # be careful :)
In addition I added:
npm run lint
You can also run it with Docker:
- Add your TMDb API key as described above. (In the future you’ll be able to do this through the docker-compose.yml)
- In the root folder run:
docker-compose up -d
- It will be available on