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
- 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
Use Android Studio/IntelliJ to build/run Android client. Requires Xcode 14 or later for iOS client.
![Screenshot 2024-11-30 at 18 48 39](https://private-user-images.githubusercontent.com/6302/391268363-7d63470b-1965-4d67-940f-0ab1791d52a2.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2MTI2MTksIm5iZiI6MTczOTYxMjMxOSwicGF0aCI6Ii82MzAyLzM5MTI2ODM2My03ZDYzNDcwYi0xOTY1LTRkNjctOTQwZi0wYWIxNzkxZDUyYTIucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxNSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTVUMDkzODM5WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MzUxYTY3NzFhMTY0NzdiYmM0MTc4OWI1ZmUxYTU4ODE5NTM2ODEwOGJlZjk3YWU1MjUzMGUzMTViODkzODk3NiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.8SOlInZhunucHY-zdFByQ0RL78En1iB5y_Tq3EF3hvk)
![Screenshot 2024-03-30 at 19 46 48](https://private-user-images.githubusercontent.com/6302/318220645-0777a9d9-e620-4feb-9e28-a00f01978c1c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2MTI2MTksIm5iZiI6MTczOTYxMjMxOSwicGF0aCI6Ii82MzAyLzMxODIyMDY0NS0wNzc3YTlkOS1lNjIwLTRmZWItOWUyOC1hMDBmMDE5NzhjMWMucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxNSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTVUMDkzODM5WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZjdkZDMxMzQ2ZTVlYTNlY2MwMmE4NTM4Zjc1ODAwZDQwMmViM2EwMTk0NTdiZWQwNTY0OGJkZDgzNThmNjRjZSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.yMn1JGDkZ_P-fnRBPSKsfCtlsNmYJVkfhQTJq86N8Fs)
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](https://private-user-images.githubusercontent.com/6302/307581741-ac624a44-4b0b-4a1d-b58b-4ce172b6f3cd.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2MTI2MTksIm5iZiI6MTczOTYxMjMxOSwicGF0aCI6Ii82MzAyLzMwNzU4MTc0MS1hYzYyNGE0NC00YjBiLTRhMWQtYjU4Yi00Y2UxNzJiNmYzY2QucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxNSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTVUMDkzODM5WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MTVkMzNlYjE2NWRiZjA0ODUyMGU1OGE2Mjc4N2U3N2NmMmNkOWI4ZmZlZjZhMmUyZWQ1M2Y0ZTcwYzlkMTNjYSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.2C1GzmJ8uH4fFeiE7eQrS5pr9MfM3QjblzRtBTM8egE)
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