/TangSengDaoDaoServer

高颜值 IM 即时通讯,聊天

Primary LanguageGoApache License 2.0Apache-2.0

唐僧叨叨

几个老工匠,历时八年时间打造的运营级别的开源即时通讯聊天软件(开源WuKongIM提供通讯动力)

GitHub go.mod Go version (subdirectory of monorepo) Go Report Card License: Apache 2.0

开发环境需要go >=1.20

愿景

让企业轻松拥有自己的即时通讯软件。

动画演示

演示地址

Android扫描体验 iOS扫描体验(商店版本 apple store 搜“唐僧叨叨”)
Web端 Windows端 MAC端 Ubuntun端
点击体验 点击下载 点击下载

app端在登录页面长按标题可以进入手机号登录

演示账号:

账号 密码
15900000002 a1234567
15900000003 a1234567
15900000004 a1234567
15900000005 a1234567
15900000006 a1234567

架构图

架构图

采用大道至简的设计原则,我们尽最大的努力让架构简单化,让开发者上手成本和学习成本大大降低。

我们的架构设计原则:简洁化可扩展性高可用

整个系统分为二层:通讯层(WuKongIM)、业务层(TangSengDaoDao)

通讯层(WuKongIM): 负责长连接维护,消息投递,消息高效存储等等

业务层(TangSengDaoDao): 负责一些业务逻辑,比如:好友关系,群组,朋友圈等等,一些IM相关的业务层的逻辑

通讯层与业务层: WuKongIM会将一些业务层需要的聊天相关的数据通过Webhook的机制(GRPC)推送给TangSengDaoDao,TangSengDaoDao需要投递一些系统消息时,将调用WuKongIM的发送消息的API进行投递。

客户端与服务端: 客户端通过SDK与WuKongIM建立长连接,发送消息和收消息都将通过长连接进行传输,客户端的一些业务逻辑,比如:好友关系,群组,朋友圈等等,将通过调用TangSengDaoDao的API进行处理。

相关源码

唐僧叨叨(负责业务)

项目名 Github地址 Gitee地址 文档 说明
TangSengDaoDaoServer Github Gitee 文档 唐僧叨叨的业务端,负责一些业务逻辑,比如:好友关系,群组,朋友圈等 (通讯端使用的是 WuKongIM)
TangSengDaoDaoAndroid Github Gitee 文档 唐僧叨叨的Android端
TangSengDaoDaoiOS Github Gitee 文档 唐僧叨叨的iOS端
TangSengDaoDaoWeb Github Gitee 文档 唐僧叨叨的Web/PC端
TangSengDaoDaoManager Github Gitee 唐僧叨叨的后台管理系统

悟空IM(负责通讯)

项目名 Github地址 Gitee地址 文档 说明
WuKongIM Github Gitee 文档 悟空IM通讯端,负责长连接维护,消息投递等等
WuKongIMAndroidSDK Github Gitee 文档 悟空IM的Android SDK
WuKongIMiOSSDK Github Gitee 文档 悟空IM的iOS SDK
WuKongIMUniappSDK Github Gitee 文档 悟空IM的 Uniapp SDK
WuKongIMJSSDK Github Gitee 文档 悟空IM的 JS SDK
WuKongIMFlutterSDK Github Gitee 文档 悟空IM的 Flutter SDK
WuKongIMReactNativeDemo Github 悟空IM的 React Native Demo(由贡献者 wengqianshan 提供)

技术文档

唐僧叨叨:

https://tsdaodao.com

悟空IM:

https://githubim.com

功能特性

  • 全局特性
    • 消息永久存储
    • 消息加密传输
    • 消息多端同步(app,web,pc等)
    • 群聊人数无限制
    • 机器人
  • 消息列表
    • 单聊
    • 群聊
    • 发起群聊
    • 添加朋友
    • 扫一扫
    • 列表提醒项,比如消息@提醒,待办提醒,服务器可控
    • 置顶
    • 消息免打扰
    • web登录状态显示
    • 消息搜索
    • 消息输入中
    • 消息未读数
    • 用户标识
    • 无网提示
    • 草稿提醒
  • 消息详情
    • 文本消息
    • 图片消息
    • 语音消息
    • Gif消息
    • 合并转发消息
    • 正在输入消息
    • 自定义消息
    • 撤回消息
    • 群系统消息
    • 群@消息
    • 消息回复
    • 消息转发
    • 消息收藏
    • 消息删除
  • 群功能
    • 添加群成员/移除群成员
    • 群成员列表
    • 群名称
    • 群二维码
    • 群公告
    • 保存到通讯录
    • 我在本群昵称
    • 群投诉
    • 清空群聊天记录
  • 好友
    • 备注
    • 拉黑
    • 投诉
    • 添加/解除好友
  • 通讯录
    • 新的朋友
    • 保存的群
    • 联系人列表
  • 我的
    • 个人信息
    • 新消息通知设置
    • 安全与隐私
    • 通用设置
    • 聊天背景
    • 多语言
    • 黑暗模式
    • 设备管理

Star

我们团队一直致力于即时通讯的研发,需要您的鼓励,如果您觉得本项目对您有帮助,欢迎点个star,您的支持是我们最大的动力。

加入群聊

微信:加群请备注“唐僧叨叨”

许可证

唐僧叨叨 使用 Apache 2.0 许可证。有关详情,请参阅 LICENSE 文件。