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 GraphQL based conference project with Jetpack Compose Android, Compose for Wear 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: about 7 hours ago
JSON representation

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

Awesome Lists containing this project

README

        

# Confetti 🎊

![kotlin-version](https://img.shields.io/badge/kotlin-2.0.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 Multiplatform GraphQL project (backend and clients) to allow viewing of conference information for a range of conferences.

Includes:

- SwiftUI iOS client
- Jetpack Compose Android client
- Compose for Desktop client (early version)
- Compose for Wear OS client (contributed by https://github.com/yschimke)
- Compose for iOS (session details screen shared across platforms)
- 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 2023-04-02 at 14 28 02

![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/graphiql
You can query the list of conferences with `conferences.id` and chose what conference to query by
passing a `"conference"` HTTP header