/TopGithubRepo

android app for trending github repositories of the week

Primary LanguageKotlin

Trending Github Repositories App in Android(Kotlin)

An Android App that shows the most trending github repositories sorted by number of stars.



Features

  • Users can view the most trending github repositories sorted by stars.
  • Users can search for repositories based on language.
  • Users can view details of a repository in the app.

App Architecture

Based on mvvm architecture and repository pattern.

Technologies used

  • Navigation Components
  • Fragments
  • Drawer Layout
  • Picasso
  • RxJava
  • Data Binding
  • ViewModel

Libraries used

  • ConstraintLayout
  • CardView
  • Retrofit 2
  • Picasso
  • RxJava
  • RecyclerView

App Packages

  1. data
    • local
    • remote
      • api : contains the api classes to make the api calls to the server, using Retrofit client.
      • model
      • response
    • repository : contains the repository classes, responsible for triggering api requests and saving the response in the database.
  2. viewmodel
  3. view
    • adapter : contains adapters for the recycler view.
    • ui : contains the fragments and activities for Repositories List and Repository details page.
    • viewholder
  4. utils : contains values for Constant variables within the app.

App Specs

  • Minimum SDK 23
  • [Java8]
  • MVVM Architecture
  • Android Architecture Components (LiveData, Navigation Components, Lifecycle, ViewModel, ConstraintLayout)
  • RxJava2 for implementing Observable pattern.
  • Retrofit 2 for API integration.
  • Gson for serialisation.
  • Okhhtp3 for implementing interceptor.
  • Picasso for image loading.