How rapabru/cinemaroulette24hs works
CYBERCAFÉ 24HS is a browser-based movie discovery and roulette terminal. Users compose catalog filters or search titles, browse TMDB results, draw a random eligible movie, then inspect details or choose a streaming option. The app also supports watched tracking, draw history, saved filter presets, Google sign-in, subtitles, and multilingual UI. The sampled App and component excerpts establish the main orchestration; some player and API wiring is based on README capabilities, so uncertain internal links are omitted.
Main entry points: App.tsx App orchestrator · tmdb.ts TMDB client · RouletteModal.tsx Roulette details · FilterPanel.tsx Filter panel
Components 29
Discovery & Draw
- Filter panel
src/components/FilterPanel.tsx - Catalog grid
src/components/CatalogGrid.tsx - Movie card
src/components/MovieCard.tsx - TMDB client
src/lib/tmdb.ts - Fallback catalog
src/lib/mockMovies.ts
Movie Playback
- Roulette details
src/components/RouletteModal.tsx - Torrentio player
src/components/TorrentioPlayer.tsx - Torrentio client
src/lib/torrentio.ts - OMDb ratings
src/lib/omdb.ts
Personal Features
- Draw history view
src/components/DrawHistoryView.tsx - Draw history store
src/lib/history.ts - Watched view
src/components/WatchedView.tsx - Watched store
src/lib/watched.ts - Filter presets
src/lib/presets.ts - Google login modal
src/components/GoogleLoginModal.tsx - Local auth state
src/lib/auth.ts
App Platform
- App orchestrator
src/App.tsx - API key settings
src/components/ApiKeyModal.tsx - Translations
src/i18n/index.ts - Background audio
src/components/BackgroundAudioPlayer.tsx
Other components
- Movie viewer
- TMDB API
- Torrentio addon
- Webtor player
- VidKing player
- PlayIMDB server
- SubDivX subtitles
- Google Identity
- OMDb API
Connections 32
- Movie viewer → App orchestrator: uses
- App orchestrator → Filter panel: renders
- App orchestrator → Catalog grid: renders
- Catalog grid → Movie card: renders
- Filter panel → TMDB client: searches people
- Filter panel → Filter presets: saves presets
- App orchestrator → TMDB client: loads catalog
- App orchestrator → TMDB client: draws movie
- App orchestrator → TMDB client: loads details
- TMDB client → TMDB API: requests data
- TMDB client → Fallback catalog: falls back
- App orchestrator → Roulette details: shows result
- Roulette details → OMDb ratings: loads ratings
- OMDb ratings → OMDb API: requests ratings
- Roulette details → Torrentio player: selects provider
- Torrentio player → Torrentio client: requests sources
- Torrentio client → Torrentio addon: queries sources
- Torrentio player → Webtor player: plays magnet
- Roulette details → VidKing player: embeds stream
- Roulette details → PlayIMDB server: opens stream
- Movie viewer → SubDivX subtitles: searches subtitles
- App orchestrator → Draw history view: shows history
- App orchestrator → Draw history store: reads and records
- App orchestrator → Watched view: shows watched
- App orchestrator → Watched store: tracks watched
- App orchestrator → Google login modal: opens sign-in
- App orchestrator → Local auth state: loads and saves user
- Google login modal → Google Identity: authenticates
- Google login modal → Local auth state: creates session
- App orchestrator → API key settings: configures keys
- App orchestrator → Translations: uses translations
- App orchestrator → Background audio: renders audio