Skip to content

alejandrolagosr/spacex-android

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spacex Launches

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

spacex launches

Build tools & versions used

  • 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.

Steps to run the app

  1. Clone the repository in your computer.
  2. Run the app as usual.