mskdr / MovieApp

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MovieApp


This is a MovieApp that you can see Top Rated Movies and Movie Details with Multi Module and Clean Architecture

Prerequisite

  • API Key, to run the application, an API key from The Movie Database should be supplied and added following variable to local environment: API_KEY = "Your API Key"

Screenshots Light & Dark Mode

Unit Testing

Unit tests are type of automated test that focuses on testing a small unit of code in isolation. The purpose of a unit test is to verify the correctness of individual units of code, such as functions or methods, by testing them in isolation from the rest of the system.

Unit tests have been added for domain and data module.

Architecture

This app uses MVVM (Model-View-ViewModel) Clean Architecture

Some of the technologies and libraries which i used in the app 🛠

  • Minimum SDK level 24
  • 100% Kotlin based + Coroutines and Flow
  • Android Hilt - Dependency Injection Library
  • Retrofit A type-safe HTTP client for Android and Java
  • OkHttp An HTTP client that efficiently make network requests
  • Moshi to serialize and deserialize JSON data when communicating with web services or when storing data locally
  • Paging a library that simplifies efficient pagination in RecyclerViews, enabling smooth scrolling and loading large data sets in a paginated manner.
  • Navigation to manage fragments
  • ViewModel This is a kind of storage for UI related data which you can save from UI changes(like configuration change)
  • Data Binding to connect views in your layout to data sources in your app's architecture.
  • View Binding a generated binding class is created for each XML layout file in your app
  • Glide Popular open-source library for loading and caching images in Android applications.
  • Testing
    • Mockito A mocking framework that tastes really good. It lets you write beautiful tests with a clean & simple API
    • MockWebServer A scriptable web server for testing HTTP clients
    • Truth A library for performing assertions in tests
    • Turbine A small testing library for kotlinx.coroutines Flow

Contact With Me

muhammetküdür

About

License:MIT License


Languages

Language:Kotlin 100.0%