Skip to content

Compose Multiplatform Sample (KMP) that serves as a comprehensive example demonstrating the integration of Compose Multiplatform, GraphQL data consumption, and SQLDelight for local data persistence.

Notifications You must be signed in to change notification settings

jarroyoesp/ComposeMultiplatformApp

Repository files navigation

CI-MASTER Latest release Kotlin Version

Compose multiplatform charts

🚀 Example project to show SpaceX data built with Kotlin Multiplatform and Compose UI Multiplatform

Compose Multiplatform Sample (KMP) that serves as a comprehensive example demonstrating the integration of Compose Multiplatform, GraphQL data consumption, and SQLDelight for local data persistence.

Using data from the GraphQL endpoint SpaceX-GraphQL

Current supported Platforms are:

  1. Android
  2. Desktop
  3. iOS

Features

Home Screen 🚀

  • List of SpaceX launches: Displays a list of SpaceX launches retrieved from a GraphQL endpoint.
  • Show favorite Launches: retrieve data from local database to show your favorite launches
  • Apollo GraphQL Integration: Utilizes GraphQL to fetch and display SpaceX launch data efficiently.
  • SQLDelight Integration: Integrates SQLDelight for managing and persisting favorite launch data.
  • Responsive UI: Provides a responsive user interface for seamless navigation and interaction across devices.
  • Error Handling: Provides informative error messages and graceful handling of network and database errors.

Detail Screen 🛸

  • Detailed View: Navigate to a detailed view of each launch for more information.
  • Save Favorites: Enables users to save their favorite launches to a SQLDelight database for persistence.

Built With 🛠

Android 🤖

Desktop 🖥️

To execute the Desktop app run this gradle command:

./gradlew desktop:run

iOS 🍎

Steps to setup your iOS app:

  1. Create your iosApp using XCode
  2. Add to your Build phases
cd "$SRCROOT/.."
./gradlew :modules:feature-home-shared:embedAndSignAppleFrameworkForXcode

  1. Add to Search Paths:
$(SRCROOT)/../modules/feature-home-shared/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)

More details JetBrains official documentation

Get the latest version of the GraphQL schema

./gradlew :module:library-network-api:downloadApolloSchemaFromIntrospection

Contributing 🤝

Issues or Pull request for any bugs/improvements are well received

About

Compose Multiplatform Sample (KMP) that serves as a comprehensive example demonstrating the integration of Compose Multiplatform, GraphQL data consumption, and SQLDelight for local data persistence.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published