Skip to content

An Android application displaying popular movies from the Movie Database API implemented with latest Android technologies.

License

Notifications You must be signed in to change notification settings

cemtuver/android-movies

Repository files navigation

"The Movie Database" Android Showcase

Want to try it out?
The latest APK file is available on the releases page.

App demo

App demo in dark mode

Features

Architecture

UI layer
  • Fragments with single activity
  • ViewModel
  • LiveData
  • Paging3
  • Navigation
  • Coil
Domain layer
  • UseCase
Data layer
  • Room
  • Room paging
  • Retrofit
  • RemoteMediator
Architectural components
  • Kotlin
  • Coroutines
  • Hilt
Testing
  • Junit4
  • Mockk
App architecture

Development

Build & Run

Before proceeding, please make sure you have an API key from the Movie Database API. You can obtain an API key by signing up for an account on their website.

Adding your API key

The app requires an API key to access the Movie Database API. You should add your API key to the build.gradle file under the app folder. Open the build.gradle file and look for the following lines:

defaultConfig {
    ...
    buildConfigField("String", "MOVIE_API_KEY", "\"your_themoviedb_api_key\"")
}

Testing

The repository includes a comprehensive suite of JUnit4 unit tests that cover various aspects of the app, including view models, use cases, repositories, and mappers. The purpose of these tests is to ensure that the app functions as expected and to catch any issues or bugs that may arise during development.

To run the unit tests, run the gradle command below.

$ ./gradlew test

Linter

The repository includes a lint configuration that enforces consistent code style and identifies potential issues in the code.

To run the linter, run the gradle command below.

$ ./gradlew lint

About

An Android application displaying popular movies from the Movie Database API implemented with latest Android technologies.

Topics

Resources

License

Stars

Watchers

Forks

Packages