Spacex Launches is a sample app demonstrating the use of Hilt, Coroutines, Flow, Jetpack (ViewModel), Material design and MVVM architecture with a very easy to use API and an easy to understand code
- Minimum SDK level 24
- Jetpack
- Lifecycle - Observe Android lifecycles and handle UI states upon the lifecycle changes.
- ViewModel - Manages UI-related data holder and lifecycle aware. Allows data to survive configuration changes such as screen rotations.
- Room Persistence - Constructs Database by providing an abstraction layer over SQLite to allow fluent database access.
- Architecture
- MVVM Architecture (Model- View - ViewModel)
- Repository Pattern
- Kotlin 1.4 based, Coroutines + Flow for asynchronous.
- Hilt 2.42 for dependency injection.
- Retrofit2 & OkHttp3 - Construct the REST APIs.
- Sandwich 1.2.6 - Construct a lightweight and modern response interface to handle network payload for Android.
- Moshi 1.13.0 - A modern JSON library for Kotlin and Java.
- Picasso 2.71828 - Loading images from network.
- Material-Components 1.6.1 - Material design components.
- Turbine 0.8.0 - A small testing library for kotlinx.coroutines Flow.
- Clone the repository in your computer.
- Run the app as usual.