How samalync-ltd/viewesta-frontend works
Viewesta is a React streaming storefront for viewers and a creator studio for filmmakers, with admin content approval. The main viewer journey is browse/search the catalog, inspect a title, then watch or use wallet and subscription flows; viewers can also maintain watchlists and receive notifications. Filmmakers upload and manage titles, while administrators approve submissions. The graph reflects documented capabilities and sampled service behavior; several page, context, and service implementations were not provided, so uncertain call wiring is omitted.
Main entry points: ViewerLayout.js Viewer Layout · App.js Router and Providers · movieService.js Movie API · client.js HTTP Client
Components 26
Application Shell
- Router and Providers
src/App.js - Viewer Layout
src/layouts/ViewerLayout.js - Studio Layout
src/layouts/FilmmakerStudioLayout.js
Viewer Experience
- Catalog Browsing
src/pages/Home.js - Search and Genres
src/pages/Search.js - Movie Details
src/pages/MovieDetail.js - Series Details
src/pages/SeriesDetail.js - Viewing and Playback
src/pages/Watch.js - Watchlist and Favorites
src/context/MovieContext.js
Creator Operations
- Content Upload
src/pages/filmmaker/FilmmakerUpload.js - Media Transfer
src/services/uploadService.js - Filmmaker Catalog
src/pages/filmmaker/FilmmakerMyMovies.js - Content Approval
src/pages/admin/AdminApproval.js
Platform Services
- Authentication
src/context/AuthContext.js - Wallet and Purchases
src/pages/Wallet.js - Subscriptions
src/pages/Subscription.js - Notifications
src/context/NotificationContext.js - Movie API
src/services/movieService.js - Series API
src/services/seriesService.js - Approval API
src/services/approvalService.js - HTTP Client
src/api/client.js
External Systems
- Viewesta Backend
- Firebase Messaging
Other components
- Viewer
- Filmmaker
- Administrator
Connections 35
- Viewer → Router and Providers: opens app
- Filmmaker → Router and Providers: opens studio
- Administrator → Router and Providers: reviews content
- Router and Providers → Viewer Layout: routes viewer
- Router and Providers → Studio Layout: routes studio
- Viewer Layout → Catalog Browsing: shows catalog
- Viewer Layout → Search and Genres: routes search
- Viewer Layout → Movie Details: routes titles
- Viewer Layout → Series Details: routes series
- Viewer Layout → Viewing and Playback: routes playback
- Viewer Layout → Watchlist and Favorites: routes lists
- Router and Providers → Authentication: provides session
- Viewer Layout → Wallet and Purchases: routes wallet
- Viewer Layout → Subscriptions: routes plans
- Studio Layout → Content Upload: routes upload
- Studio Layout → Filmmaker Catalog: routes titles
- Router and Providers → Content Approval: routes review
- Router and Providers → Notifications: handles messages
- Catalog Browsing → Movie API: loads titles
- Search and Genres → Movie API: searches catalog
- Movie Details → Movie API: loads details
- Filmmaker Catalog → Movie API: manages titles
- Content Upload → Movie API: creates title
- Content Upload → Media Transfer: uploads assets
- Media Transfer → Viewesta Backend: transfers media
- Series Details → Series API: loads series
- Content Approval → Approval API: submits decision
- Authentication → HTTP Client: requests identity
- Movie API → HTTP Client: requests catalog
- Series API → HTTP Client: requests series
- Approval API → HTTP Client: requests review
- HTTP Client → Viewesta Backend: sends API requests
- Notifications → Firebase Messaging: receives push
- Notifications → Viewesta Backend: syncs notifications
- Wallet and Purchases → Viewesta Backend: performs wallet flows