How truelockmc/streambert works
Streambert is an Electron desktop app for discovering, streaming, downloading, and managing movies, TV, and anime. The main user flow is setup with a TMDB token, discover or search for a title, open its detail view, then stream or download it; viewers can also manage subtitles and their library. The graph includes the Electron boundary and documented integrations. Some page-to-IPC wiring is unsampled, so uncertain call paths are omitted.
Main entry points: App.jsx App shell · index.js Electron main · TVPage.jsx Series details · api.js Metadata API
Components 27
Discovery and metadata
- Search
src/components/SearchModal.jsx - Trending home
src/pages/HomePage.jsx - Movie details
src/pages/MoviePage.jsx - Series details
src/pages/TVPage.jsx - Metadata API
src/utils/api.js
Playback and downloads
- Player IPC
src/ipc/player.js - Anime resolver
src/ipc/allmanga.js - Downloads
src/pages/DownloadsPage.jsx - Download IPC
src/ipc/downloads.js - Subtitle tools
src/utils/subtitles.js - Subtitle IPC
src/ipc/subtitles.js
Library and preferences
- Watch library
src/pages/LibraryPage.jsx - Preferences
src/pages/SettingsPage.jsx - Local storage
src/utils/storage.js
Electron services
- Electron main
index.js - Preload bridge
preload.js - Secure storage IPC
src/ipc/storage.js - Block statistics
src/ipc/blockStats.js - Discord presence
src/ipc/discordRpc.js
Other components
- Viewer
- AniList
- TMDB
- AllManga
- vid-dl-cli
- Discord
Connections 37
- Viewer → App shell: opens
- App shell → API setup: prompts setup
- App shell → Trending home: shows home
- App shell → Search: opens search
- App shell → Movie details: navigates to
- App shell → Series details: navigates to
- Search → Metadata API: searches
- Trending home → Metadata API: loads listings
- Movie details → Metadata API: loads details
- Series details → Metadata API: loads details
- Metadata API → TMDB: fetches metadata
- Metadata API → AniList: fetches anime metadata
- Movie details → Player IPC: requests playback
- Series details → Player IPC: requests playback
- Series details → Anime resolver: resolves anime episodes
- Anime resolver → AllManga: resolves media
- Movie details → Downloads: offers download
- Series details → Downloads: offers download
- Downloads → Download IPC: manages downloads
- Download IPC → vid-dl-cli: dispatches download
- Movie details → Subtitle tools: supports subtitles
- Series details → Subtitle tools: supports subtitles
- Subtitle tools → Subtitle IPC: requests subtitle operations
- App shell → Watch library: navigates to
- App shell → Preferences: navigates to
- Preferences → Local storage: reads and writes
- Watch library → Local storage: persists library data
- Electron main → Preload bridge: exposes bridge
- Preload bridge → App shell: provides IPC access
- Electron main → Anime resolver: registers handlers
- Electron main → Player IPC: registers handlers
- Electron main → Download IPC: registers handlers
- Electron main → Subtitle IPC: registers handlers
- Electron main → Secure storage IPC: registers handlers
- Electron main → Block statistics: initializes
- Electron main → Discord presence: registers handlers
- Discord presence → Discord: updates presence