Skip to content

Repository files navigation

E-Catalog

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.

Tech Stack

  • 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.

Getting Started

To run the project, you need to obtain your own API keys:

  1. NYT API: Get a free key from developer.nytimes.com for movie and bestseller data.
  2. IMDB API: Get a key from imdb-api.com.

Adding API Keys

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, and DetailsViewModel.kt.
  • Bestseller keys: Located in book/screen_book/bestseller_catalog/src/main/jni/book-keys.c.

Project Structure

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).

Screenshots

movies series books manga anime search nav drawer

About

A catalog of entertainment topics, raging from television to books, to anime

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages