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.
MVVM, Android Arch ViewModel, RxJava, RxAndroid, LiveData, Koin
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'
- Use MVI architecture
- Refactor ApiPhoto/APOD
- Sanitise data object