GitFlame
Yet another open-source GitHub client app built from scratch using latest and best Android practices.
Tech stack & Open-source libraries
- Minimum SDK level 21
- Kotlin based, Coroutines + Flow for asynchronous.
- Hilt for dependency injection.
- Jetpack
- Lifecycle - dispose of observing data when lifecycle state changes.
- ViewModel - UI related data holder, lifecycle aware.
- Room Persistence - construct the database using the abstract layer.
- Architecture
- MVVM Architecture (View - DataBinding - ViewModel - Model)
- Android DataBinding kit for notifying data changes to UI layers.
- Repository pattern
- Retrofit2 & OkHttp3 - construct the REST APIs.
- Moshi - A modern JSON library for Kotlin and Java.
- Glide, GlidePalette - loading images.
- TransformationLayout - implementing transformation motion animations.
- Timber - A logger with a small, extensible API.
- Material-Components - Material design components for building ripple animation, and CardView.