search-github-user
Minimalistic GitHub client, which allows user to search through GitHub users and view their profiles.
Getting Started
- Clone or download this repository
- Run and feel free to use this app without any account
Functionalities
- Input the git user name with a minimum of 1 keyword, it's will automatically searching.
- Render the searched results as a list of user items.
- Handle configuration changes & lifecycle.
- Handle failures.
- Encrypt and decrypt any internal data caching.
Libraries and Frameworks
- Presentation module
- Data-binding
- MVVM
- Navigation Graph
- Data module
- SharePreference
- Network
- Retrofit: ver 2.7.1 support kotlin coroutines
- Okhttp3
- Gson
- Dependence Injection: Hilt
- Kotlin coroutines
- Layout
- ConstraintLayout
Base Architecture Diagram (Model-View-ViewModel)
View
- Activity, Fragment, Views
- Binding data from ViewModel
- Handle UI logic
View-Model
- Live Data
- Code logic
Domain use-case
Define all functions to use-case
- Get data from the repository
Model - Data layer | Repository
All data needed for the application comes from this
Receive a request to get data. Switch data between remote and local to return a value
- Local data source: Room for complexly functions in the feature
- Remote data source: web service API
- Share preference