Confetti
KMP/CMP GraphQL based conference project with Jetpack Compose Android, Compose for Wear, and Compose Multiplatform Desktop, Web and iOS clients along with GraphQL backend.
Install / Use
/learn @joreilly/ConfettiREADME
Confetti 🎊
<img src="https://upload.wikimedia.org/wikipedia/commons/7/78/Google_Play_Store_badge_EN.svg" alt="Get it on Google Play Store" height="80"> <img src="https://developer.apple.com/assets/elements/badges/download-on-the-app-store.svg" alt="Get it on App Store" height="80">
Kotlin/Compose Multiplatform GraphQL project (backend and clients) to allow viewing of conference information for a range of conferences.
Includes:
- Compose Multiplatform (CMP) clients (Android, Desktop and Web)
- Compose for Wear OS client (contributed by https://github.com/yschimke)
- Android Auto and Automotive OS (contributed by https://github.com/cmota)
- Apollo GraphQL based Kotlin Multiplatform shared code
- GraphQL backend
Contributors
<a href="https://github.com/joreilly/confetti/graphs/contributors"> <img src="https://contrib.rocks/image?repo=joreilly/confetti" /> </a>Related posts
- Swift/Kotlin ViewModel alignment in a Kotlin Multiplatform project
- Using KMM-ViewModel library to share VM between iOS and Android
- Consuming Compose for iOS in a SwiftUI application
Building
Use Android Studio/IntelliJ to build/run Android client. Requires Xcode 14 or later for iOS client.
Screenshots
<img width="434" alt="Screenshot 2024-11-30 at 18 48 39" src="https://github.com/user-attachments/assets/7d63470b-1965-4d67-940f-0ab1791d52a2">
Gemini functionality
Gemini based talk recommendations for particuar conference are included in the mobile clients (if gemini_api_key configured in local.properties). Desktop client allows free entry of query.
API
The API is available at https://confetti-app.dev/graphql (IDE).
You can query the list of conferences with conferences.id and chose what conference to query by
passing a "conference" HTTP header
