Coder Social home page Coder Social logo

amar0001 / gemini-ai-kmp-app Goto Github PK

View Code? Open in Web Editor NEW

This project forked from coding-meet/gemini-ai-kmp-app

0.0 0.0 0.0 11.94 MB

Gemini AI Kotlin Multiplatform App using SQLDelight, Ktor, Koin, Kotlin, Jetpack Compose

Home Page: https://coding-meet.github.io/Gemini-AI-KMP-App/

License: MIT License

JavaScript 0.65% Kotlin 98.38% Swift 0.60% HTML 0.37%

gemini-ai-kmp-app's Introduction

Gemini AI KMP App - Chat with Gemini AI ๐Ÿ’ฌโœจ

Gemini AI KMP App Preview

Click the image above to watch a demo of the Gemini AI KMP App on YouTube.

Overview

The Gemini AI KMP App is a Kotlin Compose Multiplatform project designed to target Android, iOS, Windows, macOS, Linux, and Web platforms. It is an application by Gemini AI where you can retrieve information from text and images in a conversational format. Additionally, it allows storing chats group-wise using SQLDelight and KStore, and facilitates changing the Gemini API key.

Download / View App โฌ‡๏ธ

Platform Release File
๐Ÿ“ฑ Mobile android
๐Ÿ–ฅ๏ธ Desktop window macos linux
๐ŸŒŽ Web website

Features

  • Engage in conversations from any device, including smartphones, tablets, desktops, and web browsers
  • Retrieve information from text and images in a conversational format.
  • Store chats group-wise using SQLDelight and KStore.
  • Facilitating changing the Gemini API key.
  • Simple Clean UI with Animations

Technologies:

  • Kotlin
  • Clean Architecture
  • Jetpack Compose for UI development
  • Koin for Dependency Injection
  • SQLDelight and KStore library to Store chats
  • Generative AI for All AI-related stuff

Libraries ๐Ÿ› ๏ธ

  • BuildKonfig - BuildConfig for Kotlin Multiplatform Project. It currently supports embedding values from gradle file.
  • Koin - Kotlin dependency injection library with multiplatform support.
  • Ktor - Provides multiplatform libraries required to make network calls to the REST API.
  • Kermit - Kermit by Touchlab is a Kotlin Multiplatform centralized logging utility.
  • PreCompose - Compose Multiplatform ViewModel and it's Kotlin Multiplatform project.
  • Compose Multiplatform File Picker - A multiplatform compose widget for picking files.
  • Multiplatform Settings - This is a Kotlin library for Multiplatform apps, so that common code can persist key-value data.
  • SQLDelight - Cross-Platform database library
  • KStore - A tiny Kotlin multiplatform library that assists in saving and restoring objects to and from disk using kotlinx.coroutines, kotlinx.serialisation and okio.
  • kotlinx.coroutines - Library support for Kotlin coroutines with multiplatform support.
  • kotlinx.serialization - Provides sets of libraries for various serialization formats eg. JSON, protocol buffers, CBOR etc.
  • kotlinx.datetime - A multiplatform Kotlin library for working with date and time.

Getting Started

Installation ๐Ÿ› ๏ธ

  1. Clone this repository:

    git clone https://github.com/Coding-Meet/Gemini-AI-KMP-App.git
  2. Open in the latest version of Android Studio.

  3. Before running the project, obtain an API key from Google AI to communicate with the Gemini API.

  4. Add a local.properties file to the project root.

  5. Place your Gemini API key in local.properties file as GEMINI_API_KEY property.

GEMINI_API_KEY=YOUR_API_KEY
  1. Configuration of SQLDelight in Android Studio:
  • Click on the Gradle icon at the top right corner.

  1. Run the following Gradle tasks:
  • generateCommonMainGeminiApiChatDBInterface
  • generateSqlDelightInterface

Run the app on your device or emulator:

  • For Android, run the composeApp module by selecting the app configuration. If you need help with the configuration, follow this link for android
  • For iOS, run the composeApp module by selecting the iosApp configuration. If you need help with the configuration, follow this link for Ios
  • For Desktop, run ./gradlew :composeApp:run
  • For Web, run ./gradlew :composeApp:wasmJsBrowserDevelopmentRun

Screenshot ๐Ÿ’ป

Android

android android
android android
android android
android android
android

Window

win
win
win
win
win
win
win
win
win
win

Mac

mac
mac
mac
mac
mac
mac
mac
mac
mac
mac

Website

web
web
web
web
web
web
web
web
web
web

Contributing ๐Ÿค

Feel free to contribute to this project by submitting issues, pull requests, or providing valuable feedback. Your contributions are always welcome! ๐Ÿ™Œ

โค Show your support

Give a โญ๏ธ if this project helped you!

Buy Me A Coffee

Your generosity is greatly appreciated! Thank you for supporting this project.

Connect with me

Author

Meet

gemini-ai-kmp-app's People

Contributors

coding-meet avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.