This project is an application that utilizes the latest and recommended Google technologies for Android, including Jetpack Compose, Hilt for dependency injection, and Room for database management.
The programming language is the Kotlin, it is a
modern, JVM-based programming language that is concise, safe, and interoperable with Java.
Kotlin Coroutines is used for asynchronous
tasks.
Kotlin KTX is a collection of Kotlin extensions that
offer more concise and expressive code for working with Android APIs and libraries.
The UI is build using Jetpack Compose.
Retrofit is responsible for making requests and retrieving
data from the remote server. (Repository)
Hilt Dependencies Injection
is an Android library that simplifies dependency injection by using annotations to automatically
manage and provide dependencies across components, built on top of
Dagger. (Documentation)
Room Database is responsible for saving
the retrieved data from the remote server, querying data from the local database, and supporting
offline functionality.
MVVM with repository is an
architecture where the Repository manages data sources (e.g., network, database), the ViewModel
processes the data for the UI, and the View displays the UI, ensuring a clear separation of
concerns.
KSP ("Kotlin Symbol Processing") is a tool for
efficient annotation processing in Kotlin, providing faster code generation and symbol manipulation
compared to KAPT. Repository
R8 enabled, is a code shrinker and obfuscator for
Android that optimizes and reduces the size of APKs by removing unused code and resources, while
also obfuscating the remaining code to improve security.
Target SDK version: 35
Minimum SDK version: 28
Kotlin version: 2.1.0
Gradle version: 8.7.3
https://github.com/r-spacex/SpaceX-API (GitHub)
https://docs.spacexdata.com/?version=latest (Postman)