Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/championswimmer/githubtrendingnow_android
https://github.com/championswimmer/githubtrendingnow_android
Last synced: 5 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/championswimmer/githubtrendingnow_android
- Owner: championswimmer
- Created: 2019-12-21T19:32:57.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2019-12-24T08:20:17.000Z (almost 5 years ago)
- Last Synced: 2024-10-31T19:42:51.899Z (12 days ago)
- Language: Kotlin
- Homepage:
- Size: 243 KB
- Stars: 34
- Watchers: 4
- Forks: 15
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Github Trending
An android app that shows trending repositories and developers, fetching
results from## Project Structure
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### app
#### UI
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#### Libraries Used
- **Android Jetpack**
RecyclerView, CardView, Fragments, BottomNaviation
- **Glide** (image rendering)#### Test Setup
There are tests for UI as well as for ViewModels
For testing please run```sh
./gradlew connectedCheck
```### libTrendingGithub
#### Libraries Used
- **OkHttp**
- **Moshi** (JSON de/serialisation)
- **Reotrofit**#### Test Setup
There are unit tests with 100% coverage. 'To run tests use
```sh
./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.