SpaceX API Android App

An Offline first Android app to consume the SpaceX Backend API https://github.com/r-spacex/SpaceX-API.

Screenshot

Tech Stack

Core

Dependency Injection

Async Programming

View

Navigation

Networking

Local Persistence

Image

  • Coil (Image loading libary)

Testing

  • Truth (Fluent assertions for Java and Android)
  • Junit (Unit tests)
  • Turbine (A small testing library for kotlinx.coroutines Flow)
  • MockWebserver (A scriptable web server for testing HTTP clients)
  • MockK (mocking library for Kotlin)

App pattern highlights

  • Offline first
  • Clean Architecture
  • Repsository
  • Usecases
  • Dependency Injection
  • Declarative UI
  • Navigation with args
  • Cacheing
  • Delegation

Project Requirements

How to build?

  1. Clone the repository
  2. Open with Android Studio
  3. Everything should sync and build automatically

License

  • Released under Apache License 2.0
  • See LICENSE for details.

GitHub

View Github