The App consumes NASA search API to show a list of Milky Way Images taken in 2017.
The project has all required dependencies in the gradle files. Add the Project to Android Studio or IntelliJ and build.All the required dependencies will be downloaded and installed.
The project uses MVVM architecture pattern.
- Kotlin - a cross-platform, statically typed, general-purpose programming language with type inference.
- ViewModel - Manage UI related data in a lifecycle conscious way.
- ViewBinding - support library that allows binding of UI components in layouts to data sources,binds milky way image details to UI
- Navigation Component
- Android Jetpack's Navigation component to navigate between MilkyWayFragment and MilkyWayDetailsFragment
- Dagger Hilt - For Dependency Injection. Used this for easy testing, refactoring and to enhance re-usability of dependencies
- Retrofit - To fetch milky way images from the NASA search API.
- Kotlin Flow - To access data sequentially
- Espresso - For UI tests.
Milky Way Images List | Milky Way Image Details |
---|---|
- Use room to persist the milky way data locally so that user can access the milky way data while their device is offline.
- To move the mapping logic to the view model class to reduce logic on the view.
- Change the date format for the date the milky way image was taken.