项目介绍
盒子IM 是一个开源的网页版聊天软件,旨在提供类似微信的即时通讯功能,支持跨平台的沟通和协作,适合个人和团队日常交流。该项目采用 MIT 许可证,用户可自由使用与修改代码,但请遵守相关协议。
技术架构
- 后端:基于 Spring Boot 和 Netty,Spring Boot 处理业务逻辑和 RESTful API,Netty 作为高性能网络框架负责底层通信。
- 前端:网页版使用 Vue.js 开发,移动端则采用 uniapp 框架,支持 iOS、Android 和 H5。
- 数据库:MySQL 用于存储用户信息、消息记录等。
- 缓存:Redis 实现消息推送和缓存,提升响应速度和系统性能。
项目结构
核心功能
- 私聊与群聊:支持点对点私聊和群组多方聊天。
- 离线消息:用户离线期间的消息在上线后自动推送,确保信息不遗漏。
- 多媒体消息:支持图片、文件、语音及丰富的表情发送。
- 音视频通话:单人或多人音视频功能,基于 WebRTC 技术,确保通信安全(需 SSL 证书)。
- 已读未读状态:实时显示消息的已读未读状态,优化用户体验。
- 群聊@功能:在群聊中可 @ 指定成员,便于重要消息传递。
消息推送架构
界面截图
以下为盒子IM的实际操作界面:
项目地址
该项目已在 Gitee 上开源,欢迎开发者参与贡献与改进: