Giter Club home page Giter Club logo

allaichat's Introduction

AllAiChat KMP - Chat with Gemini - MVVM

An app that allows you to discover movie built with Kotlin Multiplatform Mobile which allows sharing of both UI and logic between the Android and IOS platforms

The AllAiChat KMP App is a Kotlin Compose Multiplatform project that supports Android, iOS. This app by Gemini AI enables users to retrieve information from text and images in a conversational format. It also features group-wise chat storage using SQLDelight and KStore, and allows for easy changes to the Gemini API key.

Design

Thumbnail

Demo

iOS

Android

Tech Stack.

  • Compose Multiplatform - Compose Multiplatform, a modern UI framework for Kotlin that makes building performant and beautiful user interfaces.
  • Compose Navigation - Navigation is a key part of UI applications that allows users to move between different application screens. Compose Multiplatform adopts the Jetpack Compose approach to navigation.
  • Koin - Koin is a lightweight and pragmatic dependency injection framework for Android development, allowing for easy management and injection of dependencies into Android applications.
  • Coroutines - For asynchronous and more.
  • Flow - A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.
  • Ktor - Ktor for Android is a lightweight and efficient framework that enables developers to build high-performance server-side applications and web services on the Android platform using Kotlin.
  • SqlDelight - SQLDelight generates typesafe Kotlin APIs from your SQL statements. It verifies your schema, statements, and migrations at compile-time and provides IDE features like autocomplete and refactoring which make writing and maintaining SQL simple.
  • Coil - An image loading library for Android backed by Kotlin Coroutines. Support Compose multiflatform.
  • ViewModel - The Android ViewModel approach to building UI can be implemented in common code using Compose Multiplatform.
  • Multiplatform Settings - This is a Kotlin library for Multiplatform apps, so that common code can persist key-value data.
  • FileKit - FileKit is a library that allows you to pick and save files in a simple way. On each platform, it uses the native file picker API to provide a consistent experience.
  • Moko permissions - Kotlin MultiPlatform library for providing runtime permissions on iOS & Android.
  • BuildKonfig - BuildConfig for Kotlin Multiplatform Project. It currently supports embedding values from gradle file.
  • Android Studio - Android Studio is the official Integrated Development Environment (IDE) for Android app development.
  • XCode - Xcode 14 includes everything you need to develop, test, and distribute apps across all Apple platforms.

Screenshots

Screen1 Screen2 Screen3 Screen4 Screen5

Benefits of KMP

  • Code sharing: With KMP, you can write shared code that can be used across multiple platforms, such as Android and iOS.
  • Single-language development: KMP enables you to use Kotlin as the primary programming language for both the shared code and platform-specific code.
  • Consistent business logic: KMP allows you to implement and share business logic, network calls, data models, and other core functionalities across platforms.
  • Faster time to market: By sharing code and leveraging KMP's cross-platform capabilities, developers can significantly reduce development time and effort.
  • Reduced maintenance overhead
  • Native platform integration: KMP allows seamless integration with platform-specific APIs, libraries, and UI components.

Resourceful Projects ๐ŸŒŸ

allaichat's People

Contributors

dangnghia2101 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.