Trending Repositories

API

For Clone https://github.com/Himanshu-18/Assignment_Trending.git

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 Search API and sort the repositories by their stars.

Tech stack

  • Minimum SDK level 23
  • 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.
    • Data Binding – declaratively bind observable data to UI elements.
  • 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