MohamedElshatlawy / OnMarketTask

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MovieAppCLean

MovieAppClean

MovieAppClean is a demo application based on modern Android application tech-stacks and Clean architecture.
Fetching data from the network via repository pattern.


Notice : For the application to fetch data navigate to the app level Build.gradle file found here(MovieAppCLean/app/) and replace "YOUR_API_KEY" with your api key from tmdb website(https://www.themoviedb.org)


Tech stack & Open-source libraries

  • Minimum SDK level 21
  • Kotlin based + Coroutines for asynchronous.
  • JetPack
    • Kotlin flows - notify domain layer data to views.
    • Lifecycle - dispose of observing data when lifecycle state changes.
    • ViewModel - UI related data holder, lifecycle aware.
  • Architecture
    • MVVM Architecture (View - DataBinding - ViewModel - Model)
    • Repository pattern
    • Hilt - dependency injection.
  • Retrofit2 & Gson - construct the REST APIs.
  • OkHttp3 - implementing interceptor, logging and mocking web server.
  • Coil - loading images.
  • ShimmerLayout - an Android library that provides an easy way to add a shimmer effect to any view in your Android app.
  • Material-Components - Material design components like ripple animation, cardView.
  • PagingLibrary-V3 - fetch paged data .

Architecture

MovieAppClean is based on Clean architecture and a repository pattern.

architecture

About


Languages

Language:Kotlin 100.0%