- 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>
71 lines
2.0 KiB
Markdown
71 lines
2.0 KiB
Markdown
# 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](https://github.com/Hugyouu/Letterboxd-Diary-Posters-Picker-backend)
|
|
|
|
### Installation
|
|
|
|
1. Clone the repository:
|
|
|
|
```
|
|
git clone https://github.com/Hugyouu/Letterboxd-Diary-Posters-Picker.git
|
|
```
|
|
|
|
2. Navigate to the project directory:
|
|
|
|
```
|
|
cd Letterboxd-Diary-Posters-Picker
|
|
```
|
|
|
|
3. Install dependencies:
|
|
|
|
```
|
|
npm install --legacy-peer-deps
|
|
```
|
|
|
|
4. Start the development server:
|
|
|
|
```
|
|
npm start
|
|
```
|
|
|
|
5. Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
|
|
|
|
## Usage
|
|
|
|
1. **Import your diary** — either upload a `diary.csv` exported from [letterboxd.com/data/export](https://letterboxd.com/data/export/), or enter your Letterboxd username to sync via RSS.
|
|
2. **Browse posters** — for each film in your diary, scroll through the available posters fetched from TMDB.
|
|
3. **Select a poster** — click to pick your favorite for each movie.
|
|
4. **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](https://letterboxd.com/) for the diary data
|
|
- [The Movie Database (TMDb)](https://www.themoviedb.org/) for the poster images
|