A comprehensive catalog of entertainment topics, including television, books, movies, anime, and manga.
The project presents catalogs of:
- Movies: Recent movie releases and details.
- TV Series: Top 150 IMDB series.
- Books: Most downloaded books from the Gutenberg project and New York Times Bestsellers (Hardcover Fiction and Miscellaneous).
- Anime & Manga: Data from MyAnimeList via the Jikan API.
Features include:
- Search: Universal search screen for all entertainment topics.
- Favorites: Save your favorite movies, books, and animations in one place.
- Authentication: Sign-in and account creation to manage your personal catalogs.
- Architecture: Clean Architecture with MVI/MVVM.
- Data: Room Database, Retrofit for Networking, Paging 3 for pagination.
- UI: Jetpack Compose and XML/ViewBinding.
- Security: API keys are secured using NDK/JNI.
To run the project, you need to obtain your own API keys:
- NYT API: Get a free key from developer.nytimes.com for movie and bestseller data.
- IMDB API: Get a key from imdb-api.com.
You can load keys directly into the respective ViewModels or follow the Native Development Kit (NDK) tutorial to secure them.
- Movie/Series keys:
MovieCatalogViewModel.kt,TvSeriesCatalogViewModel.kt, andDetailsViewModel.kt. - Bestseller keys: Located in
book/screen_book/bestseller_catalog/src/main/jni/book-keys.c.
The project is modularized by feature:
:app: Main entry point.:movie: Movie and TV series features.:book: Gutenberg and NYT Bestseller features.:anime: Anime and Manga features.:data: Shared data modules (UI components, design system, and auth).






