Github Trending Repository
App that lists trending Github repositories
Features
The android app lets you:
- Users can view the most trending repositories in Android from Github.
- Users can search the trending repository
- Offline Support
Screenshots
Permissions
On Android versions prior to Android 6.0, trending repository app requires the following permissions:
- Full Network Access.
- View Network Connections.
API
Since there is no official API for Trending Repositories (it is one of the internal GitHub API’s), I have decided to use GitHub Trending API
Tech stack
- Minimum SDK level 26
- Kotlin based + Coroutines for asynchronous.
- Dagger-Hilt (alpha) for dependency injection.
- JetPack
- LiveData – notify domain layer data to views.
- Lifecycle – dispose of observing data when lifecycle state changes.
- ViewModel – UI related data holder, lifecycle aware.
- Navigation Component – handle everything needed for in-app navigation.
- View Binding – bind UI elements to data.
- Architecture
- MVVM Architecture (View – DataBinding – ViewModel – Model)
- Repository pattern
- Glide – loading images.
- Retrofit2 & OkHttp3 – construct the REST APIs and paging network data.
- Material-Components – Material design components like ripple animation, cardView.