This is a simple application, which use github apis to show the list of users and their detail profile. Android users manager application implemented using the MVVM pattern, Kodein, Retrofit , LiveData, ViewModel, Coroutines, Room. UserManager fetches data from the Github API to provide list users information.
Android download link:https://github.com/xuanlocle/UserManager/blob/073ca5d9376ea1708fa8eb3439838c6319e987bf/app-dev-release.apk
- Landing user list
- View user profile
- Pull to refresh
- Handle error message
- Save local database
- Secure apk by proguard,
The architecture of this application relies and complies with the following points below:
- Pattern Model-View-ViewModel(MVVM) which facilitates a separation of development of the graphical user interface.
- Android architecture components which help to keep the application robust, testable, and maintainable.
- Retrofit a REST Client for Android which makes it relatively easy to retrieve and upload JSON (or other structured data) via a REST based webservice.
- Kodein for dependency injection.
- ViewModel to store and manage UI-related data in a lifecycle conscious way.
- LiveData to handle data in a lifecycle-aware fashion.
- Material Design an adaptable system of guidelines, components, and tools that support the best practices of user interface design.
- Coroutines used to manage the local storage i.e.
writing to and reading from the database
. Coroutines help in managing background threads and reduces the need for callbacks. - Room persistence library which provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.
- Android KTX which helps to write more concise, idiomatic Kotlin code.