Home

Awesome

Confetti 🎊

kotlin-version

<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:

Contributors

<a href="https://github.com/joreilly/confetti/graphs/contributors"> <img src="https://contrib.rocks/image?repo=joreilly/confetti" /> </a>

Related posts

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">

Tablet Screenshot of Confetti

<img width="500" alt="Wear Screenshots of Confetti screens" src="https://raw.githubusercontent.com/joreilly/Confetti/aaa91c53098754de5c568ec6611b7ab237d23bcb/wearApp/images/wearScreenshots.png"> <img width="1356" alt="Screenshot 2024-03-30 at 19 46 48" src="https://github.com/joreilly/Confetti/assets/6302/0777a9d9-e620-4feb-9e28-a00f01978c1c"> <img src="androidApp/snapshot/walkthroughAndroidAuto.gif" alt="Walkthrough of Confetti running on Android Auto" /> <img src="automotiveApp/snapshot/walkthroughAndroidAutomotive.gif" alt="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.

<img width="1033" alt="Screenshot 2024-02-25 at 09 58 16" src="https://github.com/joreilly/Confetti/assets/6302/ac624a44-4b0b-4a1d-b58b-4ce172b6f3cd">

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