A full-stack movie/TV watchlist app, using the TMDB API.
- User accounts and profiles
- Library: watched / to watch
- Filter, sort and view library as grid/list
- Collections: organize your library
- Rate titles and add notes
- TV shows: track episodes per season
- Search, get data and posters from TMDB
- Frontend: React, Vite, Tailwind CSS
- Backend: NestJS
- Database: PostgreSQL
- ORM: Prisma
- Containerization: Docker, Docker Compose
- Nginx
Profile
Movies library
TV Show (episodes)
Collections
- Docker
- Docker Compose
- make
# copy and fill env
cp .env.example .env
# start in dev mode
make dev
# start in prod mode
make prodExpose the app publicly via Cloudflare Tunnel.
CLOUDFLARE_TOKEN, CLOUD_URL and CLOUD_API_URL need to be filled in .env.
Both CLOUD_URL and CLOUD_API_URL override production values when running make cloud.
# build prod and start tunnel
make cloudapi.yourdomain.com) so it is covered by Cloudflare's SSL certificate.
| Command | Description |
|---|---|
make dev |
Start in dev mode |
make prod |
Start in prod mode |
make cloud |
Prod + Cloudflare Tunnel |
make down |
Stop all containers |
make redev |
Rebuild and start dev |
make reprod |
Rebuild and start prod |
make recloud |
Rebuild and start cloud |
make logs |
Tail logs (dev) |
make backend-shell |
Open backend shell (dev) |
make db-shell |
Open db shell (dev) |
make migrate |
Prisma migration (dev) |
make prisma |
Open Prisma Studio (dev) |
make db-dump |
Dump database (dev) |
make db-restore FILE=path |
Restore a dump (dev) |
make db-wipe |
Delete db volume (dev) |



