Github Trending Repository

App that lists trending Github repositories

Features

The android app lets you:

  • Users can view the most trending repositories in Android from Github.
  • Users can search the trending repository
  • Offline Support

Screenshots

Permissions

On Android versions prior to Android 6.0, trending repository app requires the following permissions:

  • Full Network Access.
  • View Network Connections.

API

Since there is no official API for Trending Repositories (it is one of the internal GitHub API’s), I have decided to use GitHub Trending API

Tech stack

  • Minimum SDK level 26
  • Kotlin based + Coroutines for asynchronous.
  • Dagger-Hilt (alpha) for dependency injection.
  • JetPack
    • LiveData – notify domain layer data to views.
    • Lifecycle – dispose of observing data when lifecycle state changes.
    • ViewModel – UI related data holder, lifecycle aware.
    • Navigation Component – handle everything needed for in-app navigation.
    • View Binding – bind UI elements to data.
  • Architecture
    • MVVM Architecture (View – DataBinding – ViewModel – Model)
    • Repository pattern
  • Glide – loading images.
  • Retrofit2 & OkHttp3 – construct the REST APIs and paging network data.
  • Material-Components – Material design components like ripple animation, cardView.

GitHub

View Github