Skip to content

An android application which shows trending GitHub repositories.

Notifications You must be signed in to change notification settings

avishekdas128/trending-repositories-app

Repository files navigation

Trending Repositories on GitHub

An android application 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

API

Since there is no official API for Trending Repositories (it is one of the internal GitHub API’s), using GitHub Trending API

Tech stack

  • Minimum SDK level 23
  • Kotlin based + Coroutines for asynchronous.
  • Dagger-Hilt for dependency injection.
  • JetPack
    • State - Notify domain layer data to views.
    • SharedFlows - Notify one time events to the UI layer.
    • Lifecycle - Dispose of observing data when lifecycle state changes.
    • ViewModel - UI related data holder, lifecycle aware.
    • Compose - Render UI.
  • Architecture
    • MVI Architecture [Clean Code] (Model - View - Intent)
    • Repository pattern
    • data ~ domain(use-cases) ~ presentation
  • Coil - Loading Images for Jetpack Compose.
  • Retrofit2 & OkHttp3 - Construct the REST APIs and Network data.
  • Room Database - For offline caching of data
  • Testing