Skip to content

enesselcukk/GithubApiApp

Repository files navigation

GithubApiApp

Libraries Used

  • Lifecycles Create a UI that automatically responds to lifecycle events.
  • Navigation Handle everything needed for in-app navigation.
  • Flow used for kotlin flow on android
  • StateFlow StateFlow A Flow that represents a read-only state with a single updatable data value that emits updates to the value to it
  • SharedFlow is a state-holder observable flow that emits the current and new state updates to its collectors
  • Paging3 The Paging library used is to you load and display pages of data from a larger dataset from local storage or over network
  • ViewModel Easily schedule asynchronous tasks for optimal execution.
  • Retrofit for turns your HTTP API into a Java interface
  • Gson for convert Java Objects into their JSON representation
  • Hilt for dependency injection
  • Glide for Image.
  • Room Access your app's SQLite database with in-app objects and compile-time checks.
  • Coroutines is used for asynchronous programming on Android
  • koltin-parecelize is used between screens to data carry

Clean Architecture

https://fernandocejas.com/2018/05/07/architecting-android-reloaded/

UI Layer: MVVM

The app uses MVVM architecture to have a unidirectional flow of data, separation of concern, testability, and a lot more.

Architecture

Prewiev

github.mp4