How gabrielhasahatan/my-film works
Gab Film is a movie and TV discovery and viewing application. Users browse or search titles, open movie or series details, and navigate into seasons and episodes; account features include watchlists, comments, dashboard views, and settings. The tree shows distinct feature modules and routes, while sampled code confirms search-to-action and credential authentication behavior. Most feature-action wiring and backend contracts were not sampled, so those links are omitted; the external services are represented only where the source supports them.
Main entry points: [id]/page.tsx Movie Detail · app/page.tsx Home · tv/page.tsx TV Browse · movie/page.tsx Movie Browse
Components 30
Catalog Discovery
- Home
src/app/page.tsx - Movie Browse
src/app/movie/page.tsx - TV Browse
src/app/tv/page.tsx - Search
src/modules/Search/components/search-form.tsx - Search Results
src/modules/Search/components/search-list.tsx - Movie Trending
src/modules/MoviePopular/components/movie-popular-list.tsx - TV Trending
src/modules/TvPopular/components/tv-popular-list.tsx - All Trending
src/modules/AllTrending/components/all-trending-day-list.tsx - Provider Series
src/modules/ProviderSeriesList/components/netflix-series-list.tsx
Title Viewing
- Movie Detail
src/app/movie/[id]/page.tsx - Movie Recommendations
src/modules/MovieRecomendation/components/movie-recommendations-list.tsx - Similar Movies
src/modules/MovieSimilarList/components/movie-similar-list.tsx - Movie Cast
src/modules/MovieActorList/components/movie-actor-list.tsx - Movie Player
src/shared/components/movie-player.tsx - TV Detail
src/app/tv/[id]/page.tsx - Season Detail
src/modules/TvSeasonDetail/components/tv-season-detail-list.tsx - Episode Detail
src/app/tv/[id]/season/[seasonId]/episode/[episodeId]/page.tsx - Episode Player
src/shared/components/tv-episode-player.tsx
Accounts & Community
- Login & Signup
src/app/login/page.tsx - Watchlist
src/modules/WatchList/components/watch-list-user.tsx - Comments
src/modules/Comments/components/comment-provider.tsx - Dashboard
src/app/dashboard/page.tsx - Settings
src/app/settings/page.tsx
Application Runtime
- Auth Route
src/app/api/auth/[...nextauth]/route.ts - Auth Configuration
src/lib/auth.ts - Session Guard
src/lib/session.ts - API Request Helpers
src/lib/safeApiRequest.ts
Other components
- Viewer
- Auth Backend
- Catalog API
Connections 32
- Viewer → Home: opens
- Viewer → Movie Browse: browses
- Viewer → TV Browse: browses
- Viewer → Search: searches
- Search → Search Results: provides query
- Search Results → Catalog API: requests results
- Home → Movie Trending: presents
- Home → TV Trending: presents
- Home → All Trending: presents
- Movie Browse → Movie Trending: lists titles
- TV Browse → TV Trending: lists titles
- TV Browse → Provider Series: offers provider lists
- Catalog API → API Request Helpers
- Viewer → Movie Detail: opens title
- Movie Detail → Movie Recommendations: shows recommendations
- Movie Detail → Similar Movies: shows similar titles
- Movie Detail → Movie Cast: shows cast
- Movie Detail → Movie Player: plays movie
- Viewer → TV Detail: opens series
- TV Detail → Season Detail: opens season
- Season Detail → Episode Detail: opens episode
- Episode Detail → Episode Player: plays episode
- Viewer → Login & Signup: signs in
- Login & Signup → Auth Route: submits credentials
- Auth Route → Auth Configuration: uses options
- Auth Configuration → Auth Backend: signs in or refreshes tokens
- Viewer → Watchlist: manages titles
- Viewer → Comments: comments
- Viewer → Dashboard: views account
- Viewer → Settings: changes settings
- Dashboard → Session Guard: requires user
- Settings → Session Guard: requires user