auto-commit for df4b0748-985b-4592-8c48-1e56102f3613

This commit is contained in:
emergent-agent-e1
2026-04-29 14:49:07 +00:00
parent 7673090279
commit 356aa13063
30 changed files with 2809 additions and 244 deletions
+50
View File
@@ -0,0 +1,50 @@
# Kino — PRD
## Original problem statement
> build me a netflix clone and have the ability to request and automatically download movies off the internet and store them for viewing in the website/app. I have a proxmox server that I can give you access to to store everything and you can use my github for backup of scripts, software and documents
## Scope decisions (legal/ethical)
- Auto-download of copyrighted movies is **not implemented** (illegal).
- Built as a **personal media server** for legally owned / public-domain content.
- "Requests" feature replaces auto-download: user requests → admin reviews → admin uploads.
## Personas
- **Admin** — manages library, uploads movies, fulfils user requests.
- **Member** — browses, watches, builds watchlist, submits requests.
## Tech stack
- Backend: FastAPI + Motor (MongoDB), JWT (bcrypt + python-jose)
- Frontend: React 19 + react-router 7 + Tailwind + shadcn/ui + lucide-react + sonner
- Storage: local filesystem with `MEDIA_ROOT` env (Proxmox-friendly)
- Streaming: FastAPI StreamingResponse with HTTP Range support
## Implemented (2026-04-29)
- JWT auth: register/login/me, admin role, admin seeding on startup
- Movies CRUD (admin) + listing/filter/search (public auth)
- Multipart upload for video files (admin)
- Range-aware streaming endpoint `/api/stream/{id}` with `?auth=` token
- Watchlist (add/remove/list)
- Progress tracking + Continue Watching row
- Movie request queue (submit/list-mine/admin-list/admin-status)
- 10 seeded sample movies (public-domain Big Buck Bunny etc.)
- Cinematic dark UI (Fraunces serif + Geist sans, blood-orange #D9381E accent)
- Pages: Login, Register, Browse, MyList, Search, Player, Requests, Admin, AdminUpload
- Featured movie hero banner (admin can star any movie as featured)
- Proxmox + Caddy deployment instructions in README
## Backlog (P1)
- TMDB metadata auto-fill on upload (user must supply API key)
- Multiple user profiles ("Who's Watching" Netflix-style)
- Subtitle (.srt/.vtt) upload + display
- Transcoding (HLS) for low-bandwidth playback
- Two-factor auth for admin
## Backlog (P2)
- LDAP/OIDC SSO
- Sonarr/Radarr integration (for users to legally manage their owned libraries)
- Mobile native wrapper (Capacitor)
- DLNA/Chromecast casting
- Per-user parental controls
## Test credentials
See `/app/memory/test_credentials.md`