Skip to content

Web for scanning letterboxd watchlists & finding streaming options available for a chosen country. Free from JustWatch irrelevant movie recommendations. Alternative searching included. 🏴‍☠️

License

Notifications You must be signed in to change notification settings

DiegoFleitas/letterboxd-movie-justwatch

Repository files navigation

Letterboxd Movie JustWatch

A web that allows you to scan any public Letterboxd watchlist & find which streaming providers currently offer the listed movies on the chosen country ...capable of alternative searching 🏴‍☠️

Forget the headache of sifting through annoying, irrelevant movie recommendations while searching movies on JustWatch

Development

Vite is used for development and building the front-end application. It provides fast development with features like hot module replacement (HMR) and efficient production builds. Vite is configured using vite.config.js in the project root. All requests with the /api prefix are forwarded to the back-end Express server during development, using the vite server-proxy configuration

PRE: You need to have docker to run the image at /redis folder

  • Rename .env.example to .env & update the values
  • Run npm run dev

Disclaimer

This is not the official JustWatch API.

The work of many developers went and is still going into the development and maintenance of the data and the API. The main business of JustWatch is to operate a streaming guide with apps for iOS, Android and TV that offers the data for business intelligence and marketing. Therefore it is prohibited to use the API for commercial purposes, meaning all purposes intended for, or directed towards, commercial advantage or monetization by an individual or organization (consumer service, data science, business intelligence etc.). The API may be used for non-commercial purposes such as private projects, but please be respectful with your API calls to prevent an overload on the API.

JustWatch does not warrant that the API is free of inaccuracies, errors, bugs, malicious code or interruptions or that it is reliable, flawless, complete or otherwise valid. JustWatch does not warrant that the API will meet your requirements, will be available without interruption, or that the results from its use will be accurate or reliable, the quality of the products, services, information or other materials received through the API meets your expectations, and errors regarding the API are corrected. Use of the API is at your sole discretion and risk. You are solely responsible for any damages resulting from your use of the API, including damage to its system or loss of data. JustWatch can disable and change the API at any time without notice and without giving any reason. JustWatch excludes any liability to the extent permitted for direct, indirect or incidental damages, consequential damages, lost profits, quantifiable pecuniary losses arising out of or in connection with the use of the API. Incorrect or prohibited use of the API, for example for commercial use, may result in a claim for damages by JustWatch.

If you would like to work with JustWatch and use the official Data API take a look at JustWatch Media and contact us at data-partner@justwatch.com. Currently, JustWatch can only work with bigger partners and clients. JustWatch is also hiring: https://www.justwatch.com/us/talent and has some interesting open source projects on GitHub.

Troubleshooting

  • Read redis/README.md

Deployment

  • Replace "name" & "app" strings with your new app name at package.json at fly.toml (respectively)
  • Run npm i
  • Rename .env.example to .env
  • Run flyctl launch
  • When prompted for a builder, select builtin Nodejs.
  • Run npm run fly:deploy (for future deployments only this command will be needed)

Stopping / Starting app

  • npm run fly:stop
  • npm run fly:start

Read app secrets

  • npm run fly:ssh
  • type env
  • quit with exit

Set app secrets

Add them to .env file. Alternatively use fly.io built command but note those take precedence over the ones at .env

  • flyctl secrets set SECRET="myvalue" -a <app-name>

Read server logs

From terminal

  • npm run fly:logs

Redis

Upstash Redis can be created with flyctl redis create

  • flyctl redis list & copy redis name
  • flyctl redis status <redis-name> & then copy the Private URL & set the proper env variable at the .env file

Other

Currently hosted on Fly.io free tier.