Skip to content

Commit 1764c23

Browse files
authored
Update README.md
1 parent 12da727 commit 1764c23

File tree

1 file changed

+85
-12
lines changed

1 file changed

+85
-12
lines changed

README.md

Lines changed: 85 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
1-
# Compose ChatGPT (In Progress):beers::beers:
1+
# :lion: Compose ChatGPT Kotlin - Android Chatbot (In Progress)
2+
> _This README is written by ChatGPT_
23
34
<p align="justify">
4-
Jetpack Compose ChatGPT app is a sample ChatGPT app built with Jetpack Compose.
5-
<img src="https://res.cloudinary.com/apideck/image/upload/v1672442492/marketplaces/ckhg56iu1mkpc0b66vj7fsj3o/listings/-4-ans_frontend_assets.images.poe.app_icon.png-26-8aa0a2e5f237894d_tbragv.png?raw=true" width="160px" height=auto align="right" alt="Computador"/>
6-
To try out this sample app, use the latest stable version of <a href="https://developer.android.com/studio">Android Studio</a>. You can clone this repository or import the project from Android Studio following the steps <a href="https://developer.android.com/jetpack/compose/setup#sample">here</a>.
5+
<img src="https://res.cloudinary.com/apideck/image/upload/v1672442492/marketplaces/ckhg56iu1mkpc0b66vj7fsj3o/listings/-4-ans_frontend_assets.images.poe.app_icon.png-26-8aa0a2e5f237894d_tbragv.png?raw=true" width="190px" height=auto align="right" alt="Computador"/>
6+
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 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.
7+
8+
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 API to create a powerful and intelligent chatbot.<br/>
9+
10+
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.<br/>
11+
12+
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.
713
</p>
814

915
## Screenshots
@@ -14,16 +20,70 @@ To try out this sample app, use the latest stable version of <a href="https://de
1420
<img src="https://github.com/lambiengcode/compose_chatgpt_kotlin/blob/main/screenshots/demo_2.jpeg?raw=true" width="200px"/>
1521
</p>
1622

17-
## Setup project to run in your local machine
1823

19-
***Setup Firebase***
20-
- Create your firebase project and enable ***Firestore***
21-
- Put file ***google-services.json*** into ***app/***
24+
## Requirements
25+
- Android Studio Arctic Fox or later
26+
- OpenAI API Key
27+
- Firebase
28+
29+
30+
## Getting Started
31+
32+
1. Clone the repository.
33+
2. Setup your Firebase and put file ***google-services.json*** into ***app/***
34+
3. Obtain an OpenAI API Key from the OpenAI website.
35+
4. In the ***app/src/main/java/com/chatgptlite/wanted/constants/Constants.kt*** file, add the following line and replace <your-api-key> with your actual API key:
36+
openAIApiKey=<your-api-key>
37+
5. Build and run the app on an emulator or physical device.
38+
39+
## Directory Structure
40+
41+
```terminal
42+
.
43+
├── app
44+
│ ├── build.gradle
45+
│ ├── proguard-rules.pro
46+
│ ├── src
47+
│ │ ├── androidTest
48+
│ │ ├── main
49+
│ │ │ ├── java/com/chatgptlite/wanted
50+
│ │ │ │ ├── constants
51+
│ │ │ │ ├── data
52+
│ │ │ │ ├── di
53+
│ │ │ │ ├── helpers
54+
│ │ │ │ ├── models
55+
│ │ │ │ ├── ui
56+
│ │ │ │ └── MainActivity.kt
57+
│ │ │ │ └── MainViewModel.kt
58+
│ │ │ ├── res
59+
│ │ │ └── AndroidManifest.xml
60+
│ │ ├── test
61+
│ │ └── ...
62+
├── build.gradle
63+
├── gradle
64+
│ └── wrapper
65+
│ ├── gradle-wrapper.jar
66+
│ └── gradle-wrapper.properties
67+
├── gradle.properties
68+
├── gradlew
69+
├── gradlew.bat
70+
└── settings.gradle
71+
```
72+
73+
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.
74+
75+
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:
2276

23-
***Setup OpenAI ApiKey***
24-
- Generate api key from OpenAI console: https://platform.openai.com/account/api-keys
25-
- Edit value of ***openAIApiKey*** in file ***app/src/main/java/com/chatgptlite/wanted/constants/Constants.kt*** to your key
77+
- `constants`: This directory contains constant values used throughout the application.
78+
- `data`: This directory contains the data layer of the application, including repositories and data sources.
79+
- `di`: This directory contains the Dependency Injection setup for the application.
80+
- `helpers`: This directory contains utility classes used throughout the application.
81+
- `models`: This directory contains the data models used throughout the application.
82+
- `ui`: This directory contains the user interface components of the application, including Activities, Fragments, and Composables.
83+
- `MainActivity.kt`: This file contains the implementation of the main activity for the application.
84+
- `MainViewModel.kt`: This file contains the implementation of the main view model for the application.
2685

86+
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.
2787

2888
## Features
2989

@@ -41,7 +101,20 @@ To try out this sample app, use the latest stable version of <a href="https://de
41101
- [ ] Settings for ChatGPT
42102
- [ ] Light/Dart Themes
43103

44-
### :butterfly: License
104+
## Acknowledgments
105+
- Jetpack Compose
106+
- Retrofit
107+
- [OpenAI GPT-3 API](https://beta.openai.com/docs/api-reference/introduction)
108+
- [Kotlin Coroutines](https://kotlinlang.org/docs/coroutines-overview.html)
109+
110+
## Contributing
111+
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.
112+
113+
## Contact Information
114+
115+
If you have any questions or suggestions related to this application, please contact me via email: lambiengcode@gmail.com.
116+
117+
## License
45118

46119
```terminal
47120
MIT License

0 commit comments

Comments
 (0)