How itscasaa/casaflix-public works
CasaFlix is a Netflix-styled movie, TV, anime, and live-streaming application. Its main user journey is discovering or searching for media, opening a detail page, and playing a stream with subtitles and playback controls; playback progress can feed history and watchlist experiences. Other major capabilities include account management, metadata fallback, and an ad-filtering HLS proxy. The README documents several integrations, but sampled source is limited, so links for unsampled subsystems are shown only where supported by the tree or documentation.
Main entry points: (catalog)/page.tsx Catalog pages · media-client.tsx Playback interface · [id]/page.tsx Media details · route.ts HLS proxy route
Components 25
Discovery and catalog
- Catalog pages
apps/web/app/(catalog)/page.tsx - Search page
apps/web/app/(catalog)/search/page.tsx - Search results
apps/web/hooks/useSearchResults.ts - Media details
apps/web/app/(catalog)/movies/[id]/page.tsx - Anime catalog
apps/web/app/(catalog)/anime/page.tsx
Accounts and library
- Account flows
apps/web/app/(account)/login/page.tsx - Watchlist
apps/web/app/(library)/watchlist/page.tsx - Viewing history
apps/web/app/(library)/history/page.tsx
Playback
- Watch route
apps/web/app/(compat)/watch/[id]/page.tsx - Playback interface
apps/web/components/media/media-client.tsx - HLS proxy engine
apps/web/lib/proxy/hls-engine.ts - Progress ledger
apps/web/lib/playback/progress-storage.ts
APIs and integrations
- Search API
apps/web/app/api/search/route.ts - Authentication API
apps/web/app/api/auth/[...nextauth]/route.ts - Watchlist API
apps/web/app/api/watchlist/route.ts - HLS proxy route
apps/web/app/api/proxy/hls/route.ts - Segment proxy route
apps/web/app/api/proxy/segment/route.ts - Subtitle API
apps/web/app/api/subtitles/[mediaType]/[id]/route.ts - Progress API
apps/web/app/api/playback/progress/route.ts
Shared application
- Query provider
apps/web/lib/query-client.tsx
Other components
- Viewer
- TMDb
- Watchmode
- OpenSubtitles
- Stream provider
Connections 24
- Viewer → Catalog pages: browses
- Viewer → Search page: searches
- Viewer → Account flows: signs in
- Viewer → Watch route: watches
- Catalog pages → Media details: opens details
- Catalog pages → Anime catalog: browses anime
- Search page → Search results: queries
- Search results → Search API: requests results
- Account flows → Authentication API: authenticates
- Viewer → Watchlist: manages list
- Watchlist → Watchlist API: updates list
- Watch route → Playback interface: starts playback
- Playback interface → HLS proxy route: requests playlist
- HLS proxy route → HLS proxy engine: rewrites playlist
- HLS proxy route → Stream provider: fetches playlist
- Segment proxy route → Stream provider: fetches segments
- Playback interface → Subtitle API: requests subtitles
- Playback interface → Progress API: saves progress
- Progress API → Progress ledger: uses ledger
- Progress ledger → Viewing history: supplies progress
- Media details → TMDb: loads metadata
- Media details → Watchmode: fallback metadata
- Subtitle API → OpenSubtitles: gets subtitles
- Catalog pages → Query provider: uses queries