Skip to content

Android Jetpack example - List of trending Github repositories of kotlin

License

Notifications You must be signed in to change notification settings

josealfonsomora/jetpack-github-trends

Repository files navigation

Jetpack Github Trends

Android Jetpack example - List of trending Github repositories of kotlin

Build unit tests

Single Fetch List Paginated List Detail
single_fetch paginated Detail

Github API

Architecture and Dependencies

This project is built with Android recommended architecture plus clean architecture following the separation of concerns principle to make it more testable and maintainable. If we were dealing with a bigger project we could think about separating layers (data, domain, ui) into different modules, for example, Domain layer does not need android dependencies and we could make a reusable module extracting it into a kotlin module

Clean code architecture

Screenshot 2020-09-12 at 18 41 29

MVVM - Databinding

MVVM

Data Binding

Jetpack libraries used

This project is using latest Jetpack libraries even in alpha, like Paging 3 or DataStore. I consider that both libraries are mature enough and small enough to be released to production

Hilt

Navigation

Room

DataStore

Paging 3

Arch Core

External Dependencies

Retrofit

Okhttp

Coroutines

Glide

Glide Transformations

Timber

LeakCanary

ThreeTenABP

Github API

This project will use Search Github API to request Kotlin repositories

Search API

Notes to consider:

To access the API you must provide a custom media type in the Accept header:
   
   application/vnd.github.cloak-preview
   ☝️ This header is required.
The GitHub Search API provides up to 1,000 results for each search.
The Search API has a custom rate limit. For requests using Basic Authentication, OAuth, or client ID and secret, you can make up to 30 requests per minute. For unauthenticated requests, the rate limit allows you to make up to 10 requests per minute.

To get Trending repositories we are querying Github Rest API sorting by stars That give us most starred repositories from all the time.

https://api.github.com/search/repositories?q=language:kotlin&sort=stars&per_page=10&page=1

About

Android Jetpack example - List of trending Github repositories of kotlin

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages