This is a project to learn more about Android fundamental. This project uses Github API to look up github users.
To ensure the app runs properly, get the API key from Github first and place it api_key
variable in gradle.properties (Project Level).
This project is created for learning purposes only. Feel free to clone this repository to learn.
This project's features are:
- Looking up github users through search query.
- Displaying the user detail.
- Favoriting user and save it into local database.
- Querying the favorited users.
This project is using:
- Shimmer from Facebook for loading animation.
- Android Material Library for the view.
- RxJava2 for asynchronous task.
- Retrofit2 for network request.
- GSON for JSON parsing.
- Android Jetpack Room for managing local database.
- Android Jetpack DataStore for managing shared preferences.
- Glide for image load library.
This project is implementing:
- MVVM as Design Pattern.
- Shared ViewModel with the same ViewModel to share data between activity and the fragment in it.
- Proper arrangement in package to ensure everything is easy to find.