How subhashguptha30/entertainmenthub works
Entertainment Hub is a Flask-based streaming catalogue with browser-rendered discovery, accounts, playback details, franchises, and an administrator portal. The main user flow loads catalogue data from the API, filters and searches it in the browser, then links to a content detail/player page. Flask routes handle page/API requests and delegate persistence to the database module. The README describes SQLite/local operation, while sampled source describes Firestore and optional Cloud Storage; the graph reflects sampled implementation and documents the mismatch. Unsampled routes and templates limit some wiring detail.
Main entry points: app.py Flask Routes · main.js Data Manager · database.py Content Records · franchise.js Franchise Browser
Components 19
Catalogue Discovery
- Flask Routes
app.py - Catalogue Pages
templates - Data Manager
static/js/main.js - Hero Slides
static/js/head-slides.js - Browse Sections
static/js/section-sliders.js - Franchise Browser
static/js/franchise.js - Detail Player
templates/play.html
Accounts
- Login Pages
templates/login - User Profile
templates/profile.html
Content Management
- Admin Portal
templates/admin - Admin Client
static/admin/admin.js - Image Uploads
app.py
Persistence
- Content Records
database.py - User Records
database.py - Selectors
database.py
Other components
- Viewer
- Web Browser
- Firestore
- Cloud Storage
Connections 27
- Viewer → Web Browser: uses
- Web Browser → Flask Routes: requests pages
- Flask Routes → Catalogue Pages: serves pages
- Web Browser → Data Manager: runs
- Data Manager → Flask Routes: fetches catalogue
- Flask Routes → Content Records: queries content
- Content Records → Firestore: reads and writes
- Data Manager → Hero Slides: provides catalogue
- Data Manager → Browse Sections: provides catalogue
- Web Browser → Franchise Browser: runs
- Franchise Browser → Flask Routes: fetches franchises
- Web Browser → Detail Player: opens content
- Web Browser → Login Pages: opens account pages
- Login Pages → Flask Routes: submits credentials
- Flask Routes → User Records: authenticates and updates
- User Records → Firestore: reads and writes
- Web Browser → User Profile: opens profile
- User Profile → Flask Routes: updates account
- Web Browser → Admin Portal: opens portal
- Admin Portal → Admin Client: loads scripts
- Admin Client → Flask Routes: calls admin API
- Flask Routes → Content Records: manages content
- Flask Routes → User Records: manages users
- Flask Routes → Selectors: manages selectors
- Selectors → Firestore: reads and writes
- Web Browser → Image Uploads: submits images
- Image Uploads → Cloud Storage: uploads when configured