An android app that shows trending repositories and developers, fetching results from https://github-trending-api.now.sh
The project consists of two modules
- app
The Android app with screens for trending repos and devs - libTrendingGithub
A java-library that implements the API
The app has two activities -
- Trending Lists
This has a bottom-bar based navigation, and has 3 fragments- Trending Repositories
- Trending Developers
- Languages
- Repository Details
This is opened when clicking a repository in the list for details
- Android Jetpack
RecyclerView, CardView, Fragments, BottomNaviation - Glide (image rendering)
There are tests for UI as well as for ViewModels For testing please run
./gradlew connectedCheck
- OkHttp
- Moshi (JSON de/serialisation)
- Reotrofit
There are unit tests with 100% coverage. '
To run tests use
./gradlew :libTrendingGithub:test
We have both real (flaky) tests and tests with OkHttp's MockWebServer
The assets
folder contains sample responses used in mock tests.
Gradle configuration creates a test.jar
file too that can be
used in consuming modules (like the app) to test against the mock
server and responses.