Skip to content

Latest commit

 

History

History
38 lines (22 loc) · 1.85 KB

README.MD

File metadata and controls

38 lines (22 loc) · 1.85 KB

Astronomy Photo of the Day

A Kotlin Android app demonstrating a modern architecture consisting of Kotlin, MVVM, RxJava, Koin, LiveData and lifecycle aware ViewModels.

View state is represented by an immutable data class emitted as a LiveData subscription from the ViewModels.

CircleCI

Architecture

MVVM, Android Arch ViewModel, RxJava, RxAndroid, LiveData, Koin

Testing

Junit, Mockito, Espresso

Building the project

To build the project, you will need your own auth token for the NASA APOD API (sign up here). If you don't follow the steps below, the project will not compile.

Once you have a key, you will need to make it available as a gradle.properties file. Navigate to '$HOME/.gradle/' and if a gradle.properties file does not exist, create it.

Add the following to the gradle.properties file, replacing XYZ for your NASA API key.

nasaApiKey="ABCDEFGHIJKLMNOPQRSTUVWXYZ"

After a project refresh, you should see the gradle.properties file in the Android Studio project browser view under 'Gradle Scripts'. Switch to the Android view if you don't see 'Gradle Scripts'

Screenshots

screenshot

TODO

  • Use MVI architecture
  • Refactor ApiPhoto/APOD
  • Sanitise data object