Jobster
Jobster copied to clipboard
A proof of concept of Multiplatform Compose for Android and iOS using Google Gemini API
Jobster
A proof of concept of Compose Multiplatform targeting Android and iOS and using Google Gemini API.
The app is almost 100% built with multiplatform code, including the UI.
Android | iOS |
---|---|
Gemini API
This is the only one that is NOT a Multiplatform Kotlin library. There are two implementations, one for Android and one for iOS.
To use the Gemini API, you'll need an API key. If you don't already have one, create a key in Google AI Studio.
There is one configuration for each platform:
-
Android: Add
geminiApiKey=YOUR_API_KEY
to your user'sgradle.properties
file -
iOS: Update the GeminiInfo.plist file with your API key
Available regions
The Gemini API is currently available in 180+ countries.
TODO
- Make the text strings multiplatform resources.
Other multiplatform libraries used
- Compose Multiplatform: A declarative framework based on Jetpack Compose and developed by JetBrains and open-source contributors for sharing UIs across multiple platforms with Kotlin.
- PreCompose: Supports navigation and view models providing similar APIs to Jetpack ones.
- Compottie: A port of Lottie Compose.
- SQLdelight: Generates typesafe Kotlin APIs from SQL statements.
- Koin: A pragmatic lightweight dependency injection framework.
- Ktor Client: A library for fetching data from the internet. Written in Kotlin from the ground up.
- Ksoup: A multiplatform library for parsing HTML and XML. It's a port of the renowned Java library, jsoup.
Credits
Icon by Sorembadesignz on freeicons.io
License
Copyright 2024 André Luiz Oliveira Rêgo
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.