mirror of
https://github.com/myronblair/kino-app
synced 2026-06-30 17:50:16 -05:00
auto-commit for df4b0748-985b-4592-8c48-1e56102f3613
This commit is contained in:
@@ -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`
|
||||
Reference in New Issue
Block a user