这是一个可一键部署的全栈IM项目,主要用于个人学习,后端采用C++/Node/Python实现,前端涵盖移动客户端、Web端、PC端
开源协议:Apache License, Version 2.0 定位:IM个人学习 特点:全栈项目 功能:可靠的消息传递机制:支持文字、图片、语音等消息类型,支持在线以及离线文件传输等
- im_msg_server: 与客户端建立Socket长链接,处理客户端im消息信令。长链接建立之后客户端要立即发送登录包,否则im_msg_server会断开与客户端建立的长链接;通信的链路为:客户端->core_proxy_server->im_msg_server->db_proxy_server;
- im_web_socket_server: 上述长链接的WebSocket实现,主要是为了支持Web客户端
- im_http_msg_server: 提供im消息服务的http接口,客户端通过im_http_msg_server与im_msg_server通信
- im_route_server: 路由服务器,为登录在不同im_msg_server的用户提供消息转发功能
- im_file_server: 文件服务器通信链路为:客户端->core_proxy_server->im_file_server->core_proxy_server
- im_msfs_server: 图片存储服务器
- im_dbproxy_server: 为IM服务代理数据库(MySql、Redis)操作,避免其它im服务与数据库的直接交互
- im_login_server: im_msg_server上线之后会注册到这个服务,因此可以在此服务查看各个im_msg_server的负载
- core_proxy_server: 反向代理服务器,用于屏蔽服务端的实现细节
- auth_server: 授权服务器,主要提供账号注册、登录、密码找回等功能
- business_serveer: 其它业务服务器,目前包括文章管理、配置管理
- admin_server:其实是一个管理后台
服务端项目地址:BT_Server
- Android
- IOS
- Web(开发中)
- PC(开发中)
客户端项目地址:BT_Client
1)用现有镜像进行部署
cd docker
docker-compose up -f docker-compose.yml -d
2)自定义镜像部署
cd docker
docker-compose -f "docker-compose-build.yml" up -d --build
注意,如果不配置smtp信息,则只能在管理后台进行账号添加,要想体验客户端注册登录功能,开发者需要配置自己的smtp服务
-
添加部门
-
修改部门信息
-
向部门添加成员
-
添加成员
-
修改成员信息
-
新建群聊
-
修改群聊信息
- 修改配置
-
新增文章
-
文章编辑
-
查看在线状态
-
查看系统日志
- 提供 Docker(CentOS7.9) 部署方案
- 添加反向代理服务器
- 升级 Android 到 API 29
- 解决 Android 上无法登录
- 解决 Android 上点击联系人列表奔溃
- 解决 Android 上聊天点击发送图片无响应
- 解决 Android 上聊天点击语音退出登录
- 解决 Android 布局问题
- 升级 IOS 到 IOS 11
- 升级 IOS PB 到 3.x 版本
- 解决 IOS 上的布局适配问题,去掉所有xib布局文件
- 解决图片服务器连接问题
- Mac 客户端验证(x)
- 开发 Web 版本客户端
- 管理后台用 React 重写
- Android 用 kotlin 重写
- IOS 用 swift 重写
- Flutter 版本
- 后端密码+盐值校验问题
- 崩溃日志上传(传到自己的服务器)
- 协议文件中的 FileType 重命名为 FileTypeX(Mac上枚举冲突)
- 单元测试、自动化测试
- 添加用户个人注册功能
- 将登录服务单独抽离,采用 http 服务实现登录授权
- 添加 business_server
- 将 msg_server 的负载均衡交给 nginx
- https://github.com/mogutt
- https://github.com/mogujie/TeamTalk
- https://github.com/lsqtzj/TeamTalk
- https://gitee.com/CyrusZHou/TeamTalk
- https://blog.csdn.net/lsqtzj/article/details/119456161
- https://blog.csdn.net/siyacaodeai/article/details/114982897
- https://blog.csdn.net/analogous_love/category_6901951.html
- https://blog.csdn.net/analogous_love/category_6503557.html