https://github.com/abhineshchandra1234/mars_rover
Mars Rover App using NASA API
https://github.com/abhineshchandra1234/mars_rover
animations coil dagger-hilt flow googlefonts jetpack-compose mvvm-architecture navigation retrofit2 room
Last synced: 9 months ago
JSON representation
Mars Rover App using NASA API
- Host: GitHub
- URL: https://github.com/abhineshchandra1234/mars_rover
- Owner: abhineshchandra1234
- License: apache-2.0
- Created: 2024-02-03T02:34:36.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-02-20T01:15:27.000Z (over 1 year ago)
- Last Synced: 2025-01-05T09:16:31.960Z (11 months ago)
- Topics: animations, coil, dagger-hilt, flow, googlefonts, jetpack-compose, mvvm-architecture, navigation, retrofit2, room
- Language: Kotlin
- Homepage: https://medium.com/@abhineshchandra1234/mars-rover-app-kotlin-android-2939cccfd7a0
- Size: 4.1 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Mars Rover
This project fetches a list of rovers that went to Mars. It fetches a list of their mission and another list of photos taken in that mission. It also saves rover photos along with mission details in the database.
---
## Screenshots
---
## Gradle
- Kotlin DSL is used as a gradle instead of Groovy
- It is compiled against Java JDK 17, Android API level 34
---
## Libraries
- MVVM
- Jetpack Compose
- [Navigation Compose](https://developer.android.com/guide/navigation) - Navigation refers to the interactions that let us navigate across, into and back out from different pieces of content in our app.
- [Lifecycle Compose](https://developer.android.com/jetpack/androidx/releases/lifecycle) - lifecycle-aware components perform actions in response to a change in the lifecycle status of another component. like — activities and fragments.
- [Room](https://developer.android.com/training/data-storage/room) - This library provides an abstraction layer over SQLite to allow easy database access while harnessing the full power of SQLite.
- Google font
- [Kotlin](https://kotlinlang.org/) - First class and official programming language for Android development.
- [Coroutines](https://kotlinlang.org/docs/reference/coroutines-overview.html) - For asynchronous and more..
- [Flow](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/) - A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.
- [Android Architecture Components](https://developer.android.com/topic/libraries/architecture) - Collection of libraries that help you design robust, testable, and maintainable apps.
- [Jetpack Compose](https://developer.android.com/jetpack/compose) - Modern way to make Ui in android kotlin.
- [ViewModel](https://developer.android.com/topic/libraries/architecture/viewmodel) - Stores UI-related data that isn't destroyed on UI changes.
- [Dependency Injection](https://developer.android.com/training/dependency-injection) -
- [Hilt-Dagger](https://dagger.dev/hilt/) - Standard library to incorporate Dagger dependency injection into an Android application.
- [Hilt-ViewModel](https://developer.android.com/training/dependency-injection/hilt-jetpack) - DI for injecting `ViewModel`.
- [Retrofit](https://square.github.io/retrofit/) - A type-safe HTTP client for Android and Java.
- [Coil-kt](https://coil-kt.github.io/coil/) - An image loading library for Android backed by Kotlin Coroutines.
- [Material Components for Android](https://github.com/material-components/material-components-android) - Modular and customizable Material Design UI components for Android.
---
## Features
- Rovers List
- Rovers Mission List
- Rovers Mission photo list
- Save Rover Photo along with mission details
- Support for light and dark mode
- Animations for saving mission details
---
## API Used
- Free NASA API used in the project
- [NASA API](https://api.nasa.gov/)
- Enter API key in MarsRoverPhotoService and MarsRoverManifestService