- Fix MUI v4/React 18 StrictMode warnings (justify→justifyContent, Button migration) - Responsive UploadDiary: footer visible without scroll, mobile layout centered, overview text hidden on mobile - Fix Redux selector memoization with createSelector - RSS sync: auto-refresh PosterSelector after sync, Snackbar feedback with film count - Add .gitea/workflows/deploy.yml for tag-based CI/CD - Fix nginx config (default.conf), increase Node heap for Docker build - Update README Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2.0 KiB
2.0 KiB
Letterboxd Diary Poster Picker
A web application to browse and select your favorite movie posters from your Letterboxd diary.
Features
- CSV Import: Upload your Letterboxd diary export to load your full watch history.
- RSS Sync: Sync your ~50 most recent diary entries directly via your Letterboxd username — no export needed.
- Poster Gallery: Browse all available posters for each movie via TMDB.
- Poster Selection: Pick your favorite poster for each film.
- Selection Recap: Review all your selections in one place.
- ZIP Download: Download all selected posters as a ZIP file.
- Responsive Design: Works on desktop and mobile.
Getting Started
Prerequisites
- Node.js (v14.0.0 or later)
- npm (v6.0.0 or later)
- A running instance of the backend
Installation
-
Clone the repository:
git clone https://github.com/Hugyouu/Letterboxd-Diary-Posters-Picker.git -
Navigate to the project directory:
cd Letterboxd-Diary-Posters-Picker -
Install dependencies:
npm install --legacy-peer-deps -
Start the development server:
npm start -
Open http://localhost:3000 to view it in the browser.
Usage
- Import your diary — either upload a
diary.csvexported from letterboxd.com/data/export, or enter your Letterboxd username to sync via RSS. - Browse posters — for each film in your diary, scroll through the available posters fetched from TMDB.
- Select a poster — click to pick your favorite for each movie.
- Download — use the download button in the header to export all selected posters as a ZIP.
Technologies
- React / Redux
- Material UI
- Flask (backend)
- TMDB API
Acknowledgments
- Letterboxd for the diary data
- The Movie Database (TMDb) for the poster images
