Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/joreilly/confetti

KMP/ CMP GraphQL based conference project with Jetpack Compose Android, Compose for Wear, Compose Multiplatform and SwiftUI iOS clients along with GraphQL backend.
https://github.com/joreilly/confetti

android apollo apollo-client compose-desktop compose-ios compose-multiplatform graphql graphql-client graphql-server jetpack jetpack-compose kmm kmp kotlin kotlin-multiplatform kotlin-multiplatform-mobile kotlin-native swift swiftui

Last synced: 7 days ago
JSON representation

KMP/ CMP GraphQL based conference project with Jetpack Compose Android, Compose for Wear, Compose Multiplatform and SwiftUI iOS clients along with GraphQL backend.

Awesome Lists containing this project

README

        

# Confetti 🎊

![kotlin-version](https://img.shields.io/badge/kotlin-2.1.0-blue?logo=kotlin)

[Get it on Google Play Store](https://play.google.com/store/apps/details?id=dev.johnoreilly.confetti)
[Get it on App Store](https://apps.apple.com/us/app/confetti/id1660211390)

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](https://github.com/apollographql/apollo-kotlin) based Kotlin Multiplatform shared
code
- GraphQL backend

### Contributors



### Related posts

* [Swift/Kotlin ViewModel alignment in a Kotlin Multiplatform project](https://johnoreilly.dev/posts/swift-kotlin-viewmodel-kmm-comparison/)
* [Using KMM-ViewModel library to share VM between iOS and Android](https://johnoreilly.dev/posts/kmm-viewmodel/)
* [Consuming Compose for iOS in a SwiftUI application](https://johnoreilly.dev/posts/swiftui-compose-ios/)

### Building

Use Android Studio/IntelliJ to build/run Android client.
Requires Xcode 14 or later for iOS client.

### Screenshots

Screenshot 2024-11-30 at 18 48 39

![Tablet Screenshot of Confetti](https://user-images.githubusercontent.com/6302/227476725-edd577f5-2abd-4660-a777-decef84fbb9b.png)

Wear Screenshots of Confetti screens

Screenshot 2024-03-30 at 19 46 48

Walkthrough of Confetti running on Android Auto

Walkthrough of Confetti running on Android Automotive

### 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.

Screenshot 2024-02-25 at 09 58 16

### API

The API is available at https://confetti-app.dev/graphql ([IDE](https://confetti-app.dev/playground)).
You can query the list of conferences with `conferences.id` and chose what conference to query by
passing a `"conference"` HTTP header