Github Android client app that gets data from a Github API and shows user repositories.
An API key should be obtained from Github to run the application without daily request limitations. When you get the key please add the following variable to your local environment.
https://api.github.com/users/{user}/repos
- Single Activity
- MVVM Pattern
View: Renders UI and delegates user actions to ViewModel
ViewModel: Can have simple UI logic but most of the time just gets the data from UseCase
UseCase: Contains all business rules and they written in the manner of single responsibility principle
Repository: Single source of data. Responsible to get data from one or more data sources
- Jetpack Compose: Jetpack Compose is Android’s modern toolkit for building native UI.
- LiveData: An asynchronous data stream that sequentially emits values and completes
- ViewModel: Holds UI data across configuration changes
- Hilt: Dependency injector
- Coroutines: Asynchronous programming
- Coil: An image loading library for Android backed by Kotlin Coroutines.
- Retrofit: Type safe HTTP client
- Room: Object mapping for SQLite