Skip to content

Open source Android app for browsing NASA Astronomy picture of the day.

License

Notifications You must be signed in to change notification settings

Julesssss/Nasa-photo-of-the-day

Repository files navigation

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

About

Open source Android app for browsing NASA Astronomy picture of the day.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages