Skip to content

This projects implements Github User search with Android Pagination 3 Library

Notifications You must be signed in to change notification settings

atomtec/AndroidPagination

Repository files navigation

GithubUser Search

An Android App that lists the github users sorted by most followers

GitHubUser Search

Resources

GitHub API

Building

  1. Clone the git repository
  2. Build ./gradlew assembleDebug
  3. Install ./gradlew installDebug

Task

Create an Android application that fetches the users sorted by the most followed ones (GitHub Users API https://docs.github.com/en/rest/reference/search) and display the result as a list

Architecture

This app uses the Google's Paging3 library to implement the paginated list with only remote data source

The architecture is a standard MVVM with UI observing the live data for the main list as received from the ViewModel-> Repo-> PagingSource-> RemoteDataSource .

The details view just calls the user api for every user via the Viewmodel and is "suspending" sequential in nature

The UI is made up of two fragments the List and Detail and is clubbed together using the Navigation Component'

Every layer is (Repository , API ) is preceded by an interface for separation and mocking.

Dependency is managed using Dagger2

Rate Limit handling

The Github API is is rate limited and when the limit is crossed it it gives a 403 response along with the time required for limit to be reset . In this app whenever a rate limit is hit a snackbar shows when the user can retry to fetch the data and a footer with retry button is shown

Pull To Refresh

Pull to refresh has been added and launches a new new pagination from start .

About

This projects implements Github User search with Android Pagination 3 Library

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages