Skip to content

aliakseikln/Films

Repository files navigation

Films

Just click on the search button and write what to look for and the application will find and show you all the movies that are available on the IMDb for such a request! You can also click on the movie that will be found and see its detailed description.

Preview:

Case Study:

  • Hilt - Dependency injection in the project. Simplify Dagger-related infrastructure.
    • How to create an Hilt Application Class.
    • How to create a Module Class.
    • How to create a ViewModel.
  • Paging 3 - Gives an opportunity to load movies into an infinite list while user scrolls down.
    • How to implement the PagingSource.
    • How to build and configure PagingData.
    • How to get data request in the ViewModel.
    • How to create PagingDataAdapter.
    • How to set up RecyclerView to the PagingData.
    • How to get the States of the Paging data.

Libraries and technologies used.

  • Retrofit - Making HTTP connection with the rest API and convert reponse json file to Kotlin/Java object.
  • MVVM & LiveData - Saperate logic code from views and save the state in case the screen configuration changes.
  • Coroutines - Background code execution.
  • Data binding - Allows to bind UI components in layouts to data sources.
  • Hilt - Compile-time framework for dependency injection.
  • Paging 3 - Load and display small chunks of data at a time.
  • Glide - Load and cache images by URL.
  • Navigation - Handle everything related for in-app navigation.