https://github.com/harveyrandall/letterboxd-watch-progress
Fetch Letterboxd films watched for the year so far and plot against watching one film a day average
https://github.com/harveyrandall/letterboxd-watch-progress
chartjs films flask letterboxd react
Last synced: 4 months ago
JSON representation
Fetch Letterboxd films watched for the year so far and plot against watching one film a day average
- Host: GitHub
- URL: https://github.com/harveyrandall/letterboxd-watch-progress
- Owner: harveyrandall
- License: gpl-3.0
- Created: 2020-06-06T23:59:19.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-04-17T00:27:05.000Z (about 2 years ago)
- Last Synced: 2024-12-06T21:54:48.631Z (over 1 year ago)
- Topics: chartjs, films, flask, letterboxd, react
- Language: JavaScript
- Homepage:
- Size: 1.54 MB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# letterboxd-watch-progress
My goal is to average watching one film a day for the entire year. The purpose of this small project is to track the progress of watched films for the current year to date.
Use React + Chart.js for the frontend and a Flask server to scrape my Letterboxd diary page to get my logged entries. Using this I plot a chart with two lines: an average line for watching one film a day, and a line for the number of films I have actually watched.
Above the chart are three status boxes stating:
1. The current day of the year
2. The number of films I have watched so far
3. Whether I'm ahead or behind and by how much
I use a cronjob to fetch my diary entries at 5am every morning, the cronjob is not included within this repository but can easily be added using `crontab -e` on Mac/Linux with the following line `00 05 * * * /letterbox/api/letterboxd.py`.
## Personalising the data
In `letterboxd/api/letterboxd.py` change the value of `username` to your Letterboxd username.
# TODO: Update and correct below
https://saqibameen.com/deploy-python-cron-job-scripts-on-heroku/ as reference for for adding `clock` to `Procfile` using `heroku ps:scale clock=1`.
## Running the app
First build the React project using `yarn build`. Then start the Flask api with `yarn run start-api` and run the React app with `serve -s build`. To view the project navigate to `localhost:3000` or whichever URL the `serve` tells you the app is available at.