ChatGPT Android は、Stream Chat SDK for Compose を搭載した OpenAI の ChatGPT on Android を実演します。
このリポジトリの目的は、以下を示すことです。
ChatGPT Android は、メッセージング システムを実装するために Stream Chat SDK for Compose で構築されています。 アプリに強力なアプリ内メッセージを追加することに興味がある場合は、Androidチャットメッセージングチュートリアルをご覧ください。
local.properties
GPT_SESSION=..
CF_CLEARANCE=...
ChatGPT Android は、Google の公式アーキテクチャ ガイダンスに従っています。
ChatGPT Androidはアプリアーキテクチャのガイドで構築されているため、実際のプロジェクトでアーキテクチャがどのように機能するかを示すのに最適なサンプルになります。
全体的なアーキテクチャは 2 つの層で構成されています。UI レイヤーとデータ レイヤー。各レイヤーには専用のコンポーネントがあり、それぞれに異なる責任があります。 矢印は、コンポーネントがその方向に従ってターゲットコンポーネントに依存していることを意味します。
各レイヤーには、以下の異なる責任があります。基本的に、それらは単方向のイベント/データフローに従います。
UI レイヤーは、ユーザーと対話できるボタン、メニュー、タブなどの UI 要素と、アプリの状態を保持し、構成が変更されたときにデータを復元するビューモデルで構成されます。
データレイヤーは、ローカルデータベースからのデータのクエリやネットワークからのリモートデータの要求などのビジネスロジックを含むリポジトリで構成されます。これは、ビジネス ロジックのオフライン ファースト ソースとして実装され、信頼できる唯一のソースの原則に従います。
全体的なアーキテクチャの詳細については、「Jetpack Compose を使用してリアルタイムの WhatsApp クローンを構築する」を参照してください。
ChatGPT Android は、以下のモジュール化戦略を採用しました。
再利用性:再利用可能なコードを適切にモジュレートすると、コード共有の機会が可能になり、同時に他のモジュールでのコードアクセシビリティが制限されます。
並列構築:各モジュールは並行して実行でき、ビルド時間を短縮できます。
分散型フォーカス: 各開発者チームは専用のモジュールを割り当て、独自のモジュールに集中できます。
チャット機能以外のほとんどの機能は完成していないため、貢献ガイドラインに従って誰でもこのプロジェクトに貢献および改善できます。
このリポジトリのスターゲイザーに参加してサポートしてください。
また、GitHubのメンテナをフォローして、次の作品を入手してください。
Designed and developed by 2022 skydoves (Jaewoong Eum)
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.