• Stars
    star
    185
  • Rank 204,050 (Top 5 %)
  • Language
    Kotlin
  • License
    MIT License
  • Created over 1 year ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Compose ChatGPT Kotlin - Android Chatbot using Kotlin + Jetpack Compose + Coroutine + MVVM + Retrofit2 + OpenAI's GPT-3 API. Allow stream response from ChatGPT API.

🦁 Compose ChatGPT Kotlin - Android Chatbot (In Progress)

This README is written by ChatGPT

Computador Compose ChatGPT Kotlin is an open-source Android chatbot application built using Jetpack Compose and Kotlin programming language. It integrates with OpenAI's GPT-3, GPT-4 API to generate human-like responses to user messages. The app is designed to be easy to use and highly customizable, allowing users to easily integrate the chatbot functionality into their existing projects.

This project showcases the use of modern Android development tools and techniques, including Jetpack Compose for building responsive UIs, Kotlin Coroutines for asynchronous programming, and Dagger Hilt for dependency injection. It also demonstrates how to use the OpenAI GPT-3, GPT-4 API to create a powerful and intelligent chatbot.

The project has a well-organized folder structure that makes it easy to navigate and understand the codebase. The code is well-documented and follows best practices for clean and maintainable code.

Overall, Compose ChatGPT Kotlin is a powerful and flexible chatbot solution that can be easily integrated into any Android project. With its modern architecture and powerful features, it is an excellent example of how to build high-quality Android applications using the latest tools and techniques.

Screenshots

Requirements

  • Android Studio Arctic Fox or later
  • OpenAI API Key
  • Firebase

Getting Started

  1. Clone the repository.
  2. Setup your Firebase and put file google-services.json into app/
  3. Obtain an OpenAI API Key from the OpenAI website.
  4. In the app/src/main/java/com/chatgptlite/wanted/constants/Constants.kt file, add the following line and replace with your actual API key: openAIApiKey=
  5. Build and run the app on an emulator or physical device.

Directory Structure

.
├── app
│   ├── build.gradle
│   ├── proguard-rules.pro
│   ├── src
│   │   ├── androidTest
│   │   ├── main
│   │   │   ├── java/com/chatgptlite/wanted
│   │   │   │   ├── constants
│   │   │   │   ├── data
│   │   │   │   ├── di
│   │   │   │   ├── helpers
│   │   │   │   ├── models
│   │   │   │   ├── ui
│   │   │   │   └── MainActivity.kt
│   │   │   │   └── MainViewModel.kt
│   │   │   ├── res
│   │   │   └── AndroidManifest.xml
│   │   ├── test
│   │   └── ...
├── build.gradle
├── gradle
│   └── wrapper
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
└── settings.gradle

The app directory contains all the source code and resources of the application. It contains a build.gradle file, which is used to configure the build process for the application, and a proguard-rules.pro file, which contains rules for ProGuard, a tool used to shrink and obfuscate code.

Within the src directory, there are two subdirectories: androidTest and main. The androidTest directory contains integration tests for the application on Android. The main directory contains the majority of the source code and resources for the application, and is further broken down into subdirectories:

  • constants: This directory contains constant values used throughout the application.
  • data: This directory contains the data layer of the application, including repositories and data sources.
  • di: This directory contains the Dependency Injection setup for the application.
  • helpers: This directory contains utility classes used throughout the application.
  • models: This directory contains the data models used throughout the application.
  • ui: This directory contains the user interface components of the application, including Activities, Fragments, and Composables.
  • MainActivity.kt: This file contains the implementation of the main activity for the application.
  • MainViewModel.kt: This file contains the implementation of the main view model for the application.

The project also contains other files and directories at the root level, including the build.gradle file, which is used to configure the build process for the entire project, the gradle directory, which contains files related to the Gradle build system, and the gradlew and gradlew.bat scripts, which are used to run Gradle commands. The gradle.properties file contains properties used by the Gradle build system, and the settings.gradle file is used to configure the Gradle settings for the project.

Features

  • New Chat
  • Chat History
  • ChatBot with ChatGPT
    • stream: true
      • gpt-3.5-turbo
      • gpt-4
      • text-davinci-003, text-curie-001, text-babbage-001, text-ada-001
    • stream: false
      • gpt-3.5-turbo
      • text-davinci-003, text-curie-001, text-babbage-001, text-ada-001
  • Stop generating
  • Delete conversation
  • Settings for ChatGPT
  • Light/Dart Themes

Acknowledgments

Star History

Star History Chart

Contributing

Contributions are welcome! Please feel free to submit a pull request or open an issue if you encounter any problems or have suggestions for improvements.

Contact Information

If you have any questions or suggestions related to this application, please contact me via email: [email protected].

License

MIT License

Copyright (c) 2022 lambiengcode

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

More Repositories

1

analog-clock

Analog clock built with Flutter. Simple, elegant and customizable. Enhance your app with this beautiful clock widget.
Dart
106
star
2

getx-template

💙 GetX template Flutter for efficient state management. Boost your app development with this clean and scalable architecture. Optimize by lambiengcode
Dart
48
star
3

flutter-tarot-card

🦁 Pick a random tarot card to know what your day is like...Support English, Vietnamese in app, Development by Flutter.
Dart
40
star
4

cloudmate-classroom-flutter

Cloudmate - An open-source online learning platform built with Flutter. Create classes, quizzes, and assignments, take attendance, and communicate with students. Easy to install and use. 👋
Dart
40
star
5

flutter-live-stream-ui

Live Stream application UI using Flutter that utilizes a TDD approach and DI, githooks, workflows 🍀 🎧
Dart
39
star
6

flutter_binance_ui

Test skill exam in TechupCorp about Let's clone Binance app by Flutter in 2 days.
Dart
33
star
7

pizza_store_flutter

This is mobile application using flutter for develop a pizza store, integrated factory for demo design pattern.
Dart
32
star
8

webrtc-sandbox-flutter

Video Call App using Flutter and WebRTC P2P Mesh.
Dart
31
star
9

waterbus

Built on the latest WebRTC Chromium. Waterbus, an SFU-powered video meeting app, offers robust support for a wide range of popular codecs. Seamless communication, secure collaboration, end-to-end encryption for multiple participants. Optimize your meetings with Waterbus.
Dart
30
star
10

lambiengcode

TechLead @Askany-NDN | 🌟 @dart-lang, @flutter, @android, @aws, @webrtc | 💻 Open-Source Enthusiast | ☕ Chasing dreams one line of code at a time
26
star
11

flutter-intercom-mobile

🍻 Video Call app using Flutter, Firebase and WebRTC. 使用 Flutter、Firebase 和 WebRTC 的视频通话应用。
Dart
25
star
12

flutter-sfu-video-call-group

🍻 Flutter-SFU-Video-Call is a mobile application that utilizes Flutter and WebRTC SFU architecture to provide video call functionality.
Dart
24
star
13

flutter_chat_realtime

This application using flutter for develop a realtime chat app
Dart
20
star
14

twitter_desktop

This is project desktop using Flutter for development
Dart
18
star
15

flutter-tiktok-clone

🎥 This is mobile application using flutter for clone tiktok. 这是使用 flutter 克隆 tiktok 的移动应用程序
Dart
18
star
16

android_memory_game

🚀 This is application using android native - java for develop a memory matrix game. 这是使用 android native - java 开发内存矩阵游戏的应用程序 🐼
Java
17
star
17

trello_desktop

📓 This is application using Flutter for develop a trello application. 这是使用 Flutter 开发 trello 应用程序的应用程序。
Dart
17
star
18

opensource_ecommerce

🛒 This is project college e-commerce 2021. 这是2021年大学电子商务项目。Good luck Wanted - lambiengcode.
Dart
17
star
19

postman_desktop

🚀 This is desktop application using Flutter for develop a desktop app for test API on application environment. 这是使用 Flutter 开发桌面应用程序的桌面应用程序,用于在应用程序环境上测试 API。
Dart
16
star
20

facebook_desktop

This is project UI challenge flutter desktop about Facebook. 这是关于 Facebook 的 UI 挑战 Flutter Desktop 项目。
Dart
16
star
21

8puzzle-bfs-dfs-cpp

8-Puzzle Solver in C++ using BFS and DFS algorithms. Solve the classic 8-puzzle problem in your C++ environment with ease! 🎲
C++
16
star
22

music_player_app

🎶 this project develop a music player using Flutter and flutter_neumorphic package
Dart
16
star
23

college_ecommerce

🚀 This is project college about ecommerce using nodejs and mongodb for build backend. 这是关于使用 Nodejs 和 mongodb 构建后端的电子商务的项目学院。
JavaScript
15
star
24

flutter_secure_screen

🔒 this is flutter mobile application music using glass morphism concept. 这是使用玻璃态射概念的 flutter 移动应用音乐。
Dart
15
star
25

bloc_flutter_template

This flutter project using bloc, provider for develop
Dart
15
star
26

express_template

Source dummy for started NodeJS. 启动 NodeJS 的源虚拟。
JavaScript
15
star
27

hackathon_2020

🐼 cloud school using flutter, nodejs and firebase for develop a application
Java
14
star
28

blockchain_js_sandbox

🚀 research blockchain with js then you can create own coin or learn how to hash your password safety. 使用 js 研究区块链,然后您可以创建自己的硬币或学习如何散列您的密码安全性。
JavaScript
14
star
29

react-native-chat-app

realtime chat app with web browser and mobile devices using socketio. 使用 socketio 与网络浏览器和移动设备进行实时聊天应用程序。
Java
14
star
30

flutter_background_sandbox

🍻 Flutter background service using java native code. Let's clone and customize project. Flutter后台服务使用java原生代码。让我们克隆并自定义项目。
Java
14
star
31

todolist_reactnative

my first app write in js (react native)
JavaScript
13
star
32

intercom_desktop_electron

🍻 smart intercom using electron for develop a desktop application
JavaScript
13
star
33

nodejs_express_graphql

🚀 This is project using nodejs express, mongodb and graphql for develop a backend server. 这是使用nodejsexpress、mongodb和graphql来开发后端服务器的项目。
JavaScript
13
star
34

flutter-chatgpt-completions

🕊️ Dart client for the unofficial ChatGPT API. Support Text Completion and stream response from v1/completions. 非官方 ChatGPT API 的 Dart 客户端。支持文本补全和来自 v1/completions。
C++
13
star
35

flutter-ecommerce-app-sandbox

Voucher App using Flutter for develop. 使用 Flutter 进行开发的优惠券应用程序。
Dart
13
star
36

telegram-kotlin

🐼 Clone Telegram using Kotlin for development Android application. 使用 Kotlin 克隆 Telegram 开发 Android 应用程序 。
Kotlin
13
star
37

rtsp_camera_streaming

nodejs for streaming local camera, recording and sync to Google Drive. Nodejs 用于流式传输本地摄像头、录制并同步到 Google Drive。
JavaScript
13
star
38

college_web1

🚀 market website with flutter and firebase. 使用 flutter 和 firebase 的市场网站。
Dart
13
star
39

flutter_cloud_storage

⛈️ This is project store image using AWS Amplify - Flutter. 这是使用 AWS Amplify - Flutter 的项目商店映像。
Dart
13
star
40

express_mongodb_sandbox

restful api with nodejs, express and mongodb. 带有 Nodejs、express 和 mongodb 的 Restful api。
JavaScript
13
star
41

flutter_architecture

🐼 This is base source for flutter project, apply flutter_bloc, bloc pattern. 这是flutter项目的基础源代码,应用flutter_bloc,块模式。
Dart
13
star
42

flutter-reaction-effects

🦁 Package help show popup reaction like Facebook and wrapper for widget (Show anyone who reaction this message). 包帮助显示弹出反应,如 Facebook 和小部件包装(显示对此消息作出反应的任何人)。
Dart
13
star
43

android-telegram-customize

This project is customize telegram app, such as: languages, ui/ux,...
C++
12
star
44

streaming_camera_app

Using Flutter for developing Mobile watch video from RTMP. 使用 Flutter 开发移动设备观看 RTMP 视频。
Dart
12
star
45

react-native-ui-sandbox

serries react-native beauty UI - lambiengcode. 系列 React-native 漂亮的用户界面。
JavaScript
12
star
46

todolist_java_app

📖 todolist with java(android native code)
Java
11
star
47

project-video-call

This project using nodejs, socket and webrtc for develop video call app. 该项目使用nodejs、socket和webrtc来开发视频通话应用程序。🍔
HTML
11
star
48

responsive_flutter_app

practice responsive app multi platform on youtube
Dart
11
star
49

react_tiktok_app

react native app clone tiktok using graph & aws for backend. 使用 graph 和 aws 作为后端来反应本机应用程序克隆 tiktok。
JavaScript
11
star
50

express_firestore_sandbox

🍻 restful api with nodejs, express and firebase. 带有 Nodejs、Express 和 Firebase 的 Restful API。
JavaScript
11
star
51

nodejs_socket_server

🚀 This is project using nodejs, express and socketio for develop a realtime chat app server. 这是使用nodejs、express 和socketio 开发实时聊天应用程序服务器的项目。
JavaScript
11
star
52

mask-detection-python

mask detection using tensorflow and opencv
Python
10
star
53

college_web

project web buying car using .NET in my college
JavaScript
10
star
54

flutter_chats_app

project about social network on mobile and web platform
Dart
10
star
55

college_winform

Desktop application for manage and read file txt, doc and pdf using Winform Desktop Application
C#
10
star
56

flutter-tdd-architecture-dummy

Flutter boilerplate with TDD architecture. 具有 TDD 架构的 Flutter 样板。应用 DI 和单元测试。
Dart
9
star
57

dart-webrtc

A webrtc interface wrapped in dart language. Fork from https://github.com/flutter-webrtc/dart-webrtc
Dart
7
star
58

waodate_deeplink_docs

🦁 This is deeplink flutter documents. 这是深度链接颤振文档。
6
star
59

leetcode-solved-by-dart

🌱 This repository is where I store my solutions when solving problems on Leetcode and they are solved by Dart 🧠
Dart
6
star
60

flutter-ios-communication-notifications-plugin

Flutter plugin for displaying iOS communication notifications. Easily integrate notifications into your Flutter app. Compatible with iOS 15 and above.
Dart
6
star
61

webrtc-interface

WebRTC interface for dart/flutter. Fork from https://github.com/flutter-webrtc/webrtc-interface
Dart
5
star
62

flutter-instagram-ui-redesign

Flutter Instagram UI redesign: A mobile app that replicates the latest Instagram interface using Flutter framework. Download now for free!
Dart
4
star
63

vnpay-call-app-sdk

VNPay Call App SDK is SDK call to banking app if device's user have banking or wallet application.
Ruby
3
star
64

flutter_smooth

Achieve ~60 FPS, no matter how heavy the tree is to build/layout - Fork from https://github.com/fzyzcjy/flutter_smooth
Dart
2
star
65

flutter-assignment-manabie

Assignment Manabie Flutter apply TDD + Redux + CI/CD. Manabie Flutter 作业应用 TDD + Redux + CI/CD。
Dart
2
star
66

video-kinesis-server

http video storage service with editing capabilities 🦩 🍀
Python
2
star
67

stockcon

📟 Stock application on your console. You can add, show info, candlestick chart of any stock. Read news related to stock symbol.
Python
1
star