• Fetch Rocket Launches: Retrieves SpaceX rocket launch data.
• Shared ViewModel: Implements ViewModel in the shared module for state management.
• Room Database: Stores rocket launch data locally using Room in the shared module.
• Jetpack Compose UI: The Android UI is built using Jetpack Compose.
• Dependency Injection: Uses Koin for dependency injection across platforms.
• Kotlin Multiplatform: Shared codebase for Android and iOS.
• Koin: Dependency injection framework.
• Ktor: HTTP client for making network requests.
• Room: Database for storing rocket launch data.
• Jetpack Compose: UI toolkit for building native Android UIs.
• SQLite: Database engine bundled with Room.
// Core libraries
kotlin = "2.0.20"
ktor = "2.3.12"
koin = "3.5.3"
room = "2.7.0-alpha07"
// Android
agp = "8.5.0"
compose = "1.7.0-rc01"
compose-material3 = "1.1.2"
androidxLifecycle = "2.8.0"
coilCompose = "2.7.0"
// iOS
// Add iOS-specific dependencies here
-
Clone the repository.
-
Open the project in Android Studio.
-
Sync the project with Gradle.
-
Run the app on Android or iOS.
• Fetch Data: On app launch, the SpaceX rocket launches are fetched from the API and stored locally.
• Offline Access: Rocket launches can be accessed offline using Room.
Contributions are welcome! To contribute:
-
Fork the repository.
-
Create a new branch with your feature or bugfix.
-
Commit your changes.
-
Submit a pull request with a detailed description of your changes.
This project is licensed under the MIT License.