Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/leobel96/movies-suggester
A ReactJS Web App to get Movies and TV Shows recommendations based on your Trakt history
https://github.com/leobel96/movies-suggester
javascript movies reactjs tv-series webapp
Last synced: 13 days ago
JSON representation
A ReactJS Web App to get Movies and TV Shows recommendations based on your Trakt history
- Host: GitHub
- URL: https://github.com/leobel96/movies-suggester
- Owner: leobel96
- Created: 2023-01-07T18:55:09.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-01-07T20:21:57.000Z (about 2 years ago)
- Last Synced: 2024-12-03T12:09:28.585Z (2 months ago)
- Topics: javascript, movies, reactjs, tv-series, webapp
- Language: JavaScript
- Homepage:
- Size: 2.57 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Movies Suggester
A ReactJS Web App to get Movies and TV Shows recommendations based on your [Trakt](https://trakt.tv/) history .
The recommendations are obtained from [TMDB](https://www.themoviedb.org/) using their [API](https://developers.themoviedb.org/3/getting-started/introduction).
The Web App is fully responsive and looks like this for desktop:
![Screenshot Desktop](public/resources/screenshot.png)
The Movies/TV Series are ordered based on an descending score coming from how often TVDB suggested them when generating recommendations for your watched media (the top ones will be the most suggested ones).
## Installation
Some credentials for [Trakt](https://trakt.tv/oauth/applications/new) and [TMDB](https://www.themoviedb.org/settings/api) have to be generated and a file called `src/credentials.js` should be created (an example of the expected content is present in [credentials_example.js](src/credentials_example.js)).
After that, a simple `npm install` followed by an `npn run` should be enough.
## Limitations
To make things easier and don't have to use a backend or routes, I decided to use the [Devices Authentication](https://trakt.docs.apiary.io/#reference/authentication-devices) for Trakt and save the tokens in the browser's LocalStorage. This is ok for personal use but, obviously, **very bad** for production (in which case a proper backend and the [OAuth Authentication](https://trakt.docs.apiary.io/#reference/authentication-oauth) should be used instead).