CoffeeChat
サーバー(go)とクライアント(flutter+swift)を備えたオープンソースIM
️ ️警告️ ️継続的に開発が行われており、学習用途のみに適しています。
ニュース
一部のネチズンは、問題のフォローアップ更新について尋ねました。これに対する答えです。
今年はいろいろなことがあり、このプロジェクトを放棄するかどうかはわかりませんが、ご容赦ください。このプロジェクトを開始する本来の目的は、IM サーバー開発についてさらに学ぶことであり、オープンソースの Go 言語で実装されたより優れた IM プロジェクトがあれば、コントリビューターとして参加することを検討するかもしれません。
最後に、心配してくれた皆さんに感謝の気持ちを込めて、最近の最新情報をいくつか投稿したいと思います。
最新ニュース:
- これまでのところ: 人生は終わりがなく、探検も終わりがありません??
- 2022/07/01: v2 アーキテクチャ (kratos v2 フレームワークに基づく) は現在開発中です。開始コストを削減するために、全体的な設計が pb+tcp から http+json インターフェース方式に変更されました。自由さと利便性を考慮し、現在Androidアプリを開発中です。
2022/04/10: 月次リリース計画を策定し、毎月少なくとも 1 つのリリースを確保する- 2021/08: 著者は最近転職を考えているので、技術的な深みを高めるためにOpenIMの勉強、Kafkaの使い方、マイクロサービス、inbox、Etcd、Docker、K8Sなどを学ぶのがメインです。
- 2021/03 - 07: QT クライアントと C++ クロスプラットフォーム SDK の開発中、エネルギーの制約により進捗が遅れています。
- 2021/02: Sketch を使用して win+mac クライアント インターフェイスをデザインします。
要約:
-
2022
: 再スタート、android + kratos + k8s を学び、go サーバー v2 バージョンの再構築を実現 2021
: 主に百万レベルのアーキテクチャ、C++ クロスプラットフォーム SDK、QT、Go マイクロサービス、Docker、Etcd などの探索に重点を置いています。CoffeeChat CoffeeChatほとんど更新されていません。-
2020
: CoffeeChat今年も継続的に改善されており、著者は主にiOS開発を学習し、簡単なiOSアプリを実装しています。 -
2019/08
: CoffeeChatが誕生しました。フラッターを勉強して簡単なフラッター クライアントを実装しましたが、フラッター チャット インターフェイスのプルダウン効果が理想的ではなかったので断念しました。
クライアント
サポートされているクライアントは次のとおりです。
開発中(V2)
- Android: Android 7.0 + Java 実装に基づいており、現在開発中 (2022 年 8 月)、
V2版本
サーバーに適しています。
一時停止中 (V1)
- iOS: 現在メインで保守されているクライアントである swift5 に基づいて実装することを推奨します。
V1版本
サーバーに適用されます。 - Flutter: flutter2 と dart に基づいていますが、現在はメンテナンスされておらず、学習のみを目的としています。
- Windows: C++ および NetEase duilib に基づいており、現在はログイン機能のみが実装されています。
- Mac: C++ および Qt6 に基づいており、現在はログイン機能のみが実装されています。
詳細を表示するには、対応するリンクをクリックしてください。
プレビュー
はためく
CoffeeChat参照してください。Flutter は当面メンテナンスされておらず、参照のみを目的としています。
迅速
特徴
デザイン
シングルチャットとグループチャット
サーバー固有の
クライアント固有の
特徴
チャットボット機能
建築
モジュールアーキテクチャ:
単一チャット モジュールの相互作用図:
もっと見る アーキテクチャ
クイックスタート
PS: masterブランチに切り替えてコンパイルして実行してください。
- サーバーを起動します (Docker デスクトップ >= 4.0.1 が必要):
CoffeeChat/server
# 从代码编译docker镜像,安装mysql,redis等依赖,并自动初始化mysql数据
$ docker-compose up -d">
$ git clone https://github.com/xmcy0011/CoffeeChat.git
$ cd CoffeeChat /server
# 从代码编译docker镜像,安装mysql,redis等依赖,并自动初始化mysql数据
$ docker-compose up -d
- クライアントをコンパイルします。推奨される iOS クライアント (シミュレーターには iPhone 11 を選択) にアクセスしてください: client
- iOS シミュレーターとアプリが起動したら、「登録」をクリックし、サーバーの IP アドレスをローカル IP に変更します (ポートを入力する必要はありません)。登録が成功したら、ログインします。
- 2 つの内蔵ロボット (Sizhi と WeChat) と 3 人の友人があり、チャット機能をテストできます。
詳細については、以下を参照してください。
停止:
CoffeeChat/server
$ docker-compose down -v">
$ cd CoffeeChat /server
$ docker-compose down -v
書類
- 製品紹介
- アーキテクチャとプロトコルの設計
- メッセージテーブルストレージ
- IM メッセージ ID の生成原理と一般的な技術的問題
- スケジュール
- IMにおけるMQの実践と選択
その他の記事については、以下を参照してください。
考える
- mattermost: 主に go エンジニアリングの実践でいくつかのスキルを学びますが、これはまだ研究段階です。
- Open-IM-Server: そのアーキテクチャとコードを分析することで、受信トレイのメカニズムと im マイクロサービス (go) の分割の実践を理解しました。
- goim: 100 万レベルのアーキテクチャの下でチャット ルームのシナリオに Kafka がどのように適用されるかを学びます。
- Terry-Ye/im: goim と組み合わせることで、いわゆるジョブの意味と goim の構造が理解できました。
- gim: 書き込み拡散のアーキテクチャと原理をより深く理解できるシンプルな書き込み拡散プロジェクト。
オープンソース IM の詳細については、「史上最も包括的なオープンソース IM の目録」を参照してください。
接触
電子メール:[email protected]
WeChat通信: xuyc1992 (注: 私です)
気に入ったら公開アカウントをフォローしてみてはいかがでしょうか?
「Goと分散IM」??
ライセンス
CoffeeChat mit ライセンスに基づいて提供されています。