ArunYogeshwaran / GitHub-Client

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MVVM Demo using a GitHub API

Update the following buildconfig fields in build.gradle to customize the Repository ID and User ID

  • buildConfigField "String", "USER_ID", '"ArunYogeshwaran"'
  • buildConfigField "String", "REPO_ID", '"GitHub-Client"'

Stacks

This demo features

  • Getting the closed pull requests corresponding to a User ID and Repository ID specified in the BuildConfigField in build.gradle shown above
  • Shows empty state when there are no closed pull requests
  • Shows error state when pull requests couldn't be fetched due to some reason
  • Supports pull to refresh to update the list

Stacks

Foundation

  • Coroutines - Performing asynchronous code with sequential manner.
  • Hilt - The DI framework w/ Jetpack integration.
  • Flow - Reactive streams.
  • Fragment - The UI host.
  • Lifecycle - Android's component lifecycle teams up with coroutines.
  • View Binding - Providing safe access to view.
  • ViewModel - Presenter with its semi data persistence behavior.

MAD Scorecard




Kotlin Highlights




Jetpack Highlights




Ideal State




Empty State




Error State




About

License:MIT License


Languages

Language:Kotlin 100.0%