How ingridmiao/mydramalist works
My Drama List is an Android app backed by a Spring Boot API for recording and browsing dramas. Users sign in, manage a personal list and its tags/categories, explore friends’ and public lists, and can search TMDB for drama suggestions. The README also describes rating analytics and cloud synchronization; the sampled backend implementation was not available, so those capabilities are represented at the documented product boundary rather than with guessed internal flows. Edges reflect sampled Android calls and README statements.
Main entry points: DramaViewModel.kt Drama state and actions · MainScreen.kt App navigation · RetrofitClient.kt Backend client · service Spring services
Components 29
Android app
- Activity entry
app/app/src/main/java/front/app/MainActivity.kt - App navigation
app/app/src/main/java/front/app/ui/MainScreen.kt - Login and signup
app/app/src/main/java/front/app/ui/login/LoginScreen.kt - Login state
app/app/src/main/java/front/app/viewmodel/LoginViewModel.kt - Drama library
app/app/src/main/java/front/app/ui/home/HomeScreen.kt - Friend lists
app/app/src/main/java/front/app/ui/friend/FriendScreen.kt - Profile settings
app/app/src/main/java/front/app/ui/profile/ProfileScreen.kt - Add drama
app/app/src/main/java/front/app/ui/add/AddScreen.kt - Drama details
app/app/src/main/java/front/app/ui/detail/DetailScreen.kt - Drama state and actions
app/app/src/main/java/front/app/viewmodel/DramaViewModel.kt - Theme preferences
app/app/src/main/java/front/app/ui/theme/ThemeViewModel.kt - Drama records
app/app/src/main/java/front/app/model/Drama.kt - Shared drama records
app/app/src/main/java/front/app/model/DramaResponse.kt - Tags
app/app/src/main/java/front/app/model/Tag.kt - User records
app/app/src/main/java/front/app/model/User.kt - Drama requests
app/app/src/main/java/front/app/repository/DramaRepository.kt - User requests
app/app/src/main/java/front/app/repository/UserRepository.kt - Category requests
app/app/src/main/java/front/app/repository/CategoryRepository.kt - Tag requests
app/app/src/main/java/front/app/repository/TagRepository.kt - Backend API routes
app/app/src/main/java/front/app/network/ApiService.kt - Backend client
app/app/src/main/java/front/app/network/RetrofitClient.kt - Search and credits
app/app/src/main/java/front/app/network/TmdbApiService.kt - TMDB client
app/app/src/main/java/front/app/network/TmdbRetrofitClient.kt
Drama API
- Spring services
demo/src/main/java/com/example/demo/service - REST controllers
demo/src/main/java/com/example/demo/controller - Supabase data store
demo/src/main/java/com/example/demo/repository - Rating analytics
demo/src/main/java/com/example/demo/service
TMDB lookup
- TMDB service
Other components
- App user
Connections 32
- App user → Activity entry: opens app
app/app/src/main/java/front/app/MainActivity.kt - Activity entry → App navigation: shows
app/app/src/main/java/front/app/MainActivity.kt - App navigation → Login and signup: routes to
app/app/src/main/java/front/app/MainActivity.kt - Login and signup → Login state: uses
app/app/src/main/java/front/app/ui/login/LoginScreen.kt - Login state → User requests: calls
app/app/src/main/java/front/app/viewmodel/LoginViewModel.kt - App navigation → Drama library: routes to
app/app/src/main/java/front/app/ui/MainScreen.kt - App navigation → Friend lists: routes to
app/app/src/main/java/front/app/ui/MainScreen.kt - App navigation → Profile settings: routes to
app/app/src/main/java/front/app/ui/MainScreen.kt - App navigation → Add drama: routes to
app/app/src/main/java/front/app/ui/MainScreen.kt - App navigation → Drama details: routes to
app/app/src/main/java/front/app/ui/MainScreen.kt - App navigation → Drama state and actions: shares
app/app/src/main/java/front/app/ui/MainScreen.kt - Drama library → Drama state and actions: uses
app/app/src/main/java/front/app/ui/home/HomeScreen.kt - Friend lists → Drama state and actions: uses
app/app/src/main/java/front/app/ui/friend/FriendScreen.kt - Add drama → Drama state and actions: uses
app/app/src/main/java/front/app/ui/add/AddScreen.kt - Drama details → Drama state and actions: uses
app/app/src/main/java/front/app/ui/detail/DetailScreen.kt - Profile settings → Theme preferences: uses
app/app/src/main/java/front/app/ui/profile/ProfileScreen.kt - Drama state and actions → Drama requests: calls
app/app/src/main/java/front/app/viewmodel/DramaViewModel.kt - Drama state and actions → Category requests: calls
app/app/src/main/java/front/app/viewmodel/DramaViewModel.kt - Drama state and actions → Tag requests: calls
app/app/src/main/java/front/app/viewmodel/DramaViewModel.kt - Drama state and actions → User requests: calls
app/app/src/main/java/front/app/viewmodel/DramaViewModel.kt - Drama state and actions → TMDB client: searches through
app/app/src/main/java/front/app/viewmodel/DramaViewModel.kt - Drama requests → Backend client: uses
app/app/src/main/java/front/app/repository/DramaRepository.kt - User requests → Backend client: uses
app/app/src/main/java/front/app/repository/UserRepository.kt - Category requests → Backend client: uses
app/app/src/main/java/front/app/repository/CategoryRepository.kt - Tag requests → Backend client: uses
app/app/src/main/java/front/app/repository/TagRepository.kt - Backend client → Backend API routes: creates client
app/app/src/main/java/front/app/network/RetrofitClient.kt - Backend API routes → REST controllers: HTTP requests
app/app/src/main/java/front/app/network/ApiService.kt - REST controllers → Spring services: dispatches
- Spring services → Supabase data store: persists data
README.md - Spring services → Rating analytics: analyzes ratings
README.md - TMDB client → Search and credits: creates client
app/app/src/main/java/front/app/network/TmdbRetrofitClient.kt - Search and credits → TMDB service: queries
app/app/src/main/java/front/app/network/TmdbApiService.kt