Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vinceglb/composeai
An Android & iOS application ChatGPT like made with Compose Multiplatform
https://github.com/vinceglb/composeai
chatgpt compose-ios compose-multiplatform kmm kotlin-multiplatform
Last synced: 6 days ago
JSON representation
An Android & iOS application ChatGPT like made with Compose Multiplatform
- Host: GitHub
- URL: https://github.com/vinceglb/composeai
- Owner: vinceglb
- License: apache-2.0
- Created: 2023-04-16T14:15:40.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-25T23:22:29.000Z (4 months ago)
- Last Synced: 2025-01-21T18:09:50.549Z (13 days ago)
- Topics: chatgpt, compose-ios, compose-multiplatform, kmm, kotlin-multiplatform
- Language: Kotlin
- Homepage:
- Size: 8.04 MB
- Stars: 105
- Watchers: 2
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
An Android & iOS application ChatGPT like made with Compose Multiplatform
## Stack
- 💄 [Compose Multiplatform](https://github.com/JetBrains/compose-multiplatform) for the UI on Android & iOS
- 🎨 [Material 3](https://material.io/) for the Design System
- 🧠 [OpenAI Kotlin](https://github.com/aallam/openai-kotlin) for OpenAI API client
- 🧭 [Voyager](https://github.com/adrielcafe/voyager) for the navigation library
- 💡 [Koin](https://insert-koin.io/) for the dependency injection framework
- 🗃️ [SQLDelight](https://github.com/cashapp/sqldelight) for native SQLite database
- ⚙️ [Multiplatform Settings](https://github.com/russhwolf/multiplatform-settings) for saving simple key-value data
- 🧑🎨 [Coil3](https://coil-kt.github.io/coil/upgrading_to_coil3/) for displaying images from URL
- 🔊 [Napier](https://github.com/AAkira/Napier) for easy logging
- 🔨 [BuildKonfig](https://github.com/yshrsmz/BuildKonfig) for BuildConfig for Kotlin Multiplatform Project
- 🔥 Firebase [Analytics](https://firebase.google.com/docs/analytics) & [Crashlytics](https://firebase.google.com/docs/crashlytics) for usage and crash reporting
- 💸 [AdMob](http://admob.google.com/) for ads revenue## Architecture
The app architecture is based on the latest guidelines from Google. You can take a look [here](https://developer.android.com/topic/architecture?hl=fr) for more information and [here](https://github.com/android/nowinandroid) for an official example.
## Gettings started
Compose AI use the OpenAI API with gpt-4o-mini the get the responses. We need to setup your own OpenAI API key before launching the app.
- Create your OpenAI developper account [here](https://platform.openai.com/)
- Create a new API key [here](https://platform.openai.com/account/api-keys) or use an existing one
- Open the local.properties in the root of the project
- Add your key like this `openai_api_key=[YOUR OPENAI API KEY HERE]`## Sources
Here are some of the websites or repositories that helped me to create this project:
- [Compose Multiplatform iOS / Android template](https://github.com/JetBrains/compose-multiplatform-ios-android-template)
- [The #compose-ios channel on the official Kotlin Slack](https://kotlinlang.slack.com/archives/C0346LWVBJ4/p1678888063176359)
- [KMPStarterOS](https://github.com/AppKickstarter/KMPStarterOS) : Open source template for Kotlin multiplatform and Compose by [@LouisDuboscq](https://github.com/LouisDuboscq)I want to thank all the whole Jetbrains team for making Compose Multiplatform possible, and all the amazing community that surrounds it ❤️