# taotao-im **Repository Path**: handsomeTao/taotao-im ## Basic Information - **Project Name**: taotao-im - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-20 - **Last Updated**: 2026-04-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 我来帮您快速解析这个即时通讯项目的核心功能、架构与模块。首先,让我查看仓库的关键文档和结构。 让我查看项目中的其他关键文档来了解整体架构。 现在让我查看部署指南和其他关键文件来获取更多信息。 现在让我查看一下项目的目录结构,以了解各个模块的具体实现。 现在让我快速浏览一下各个模块的源代码结构,以了解具体实现。 让我直接查看后端服务器的主要结构和关键文件。 基于我已经获取的信息,现在为您提供该仓库的核心功能、架构与模块的快速解析。 ## ✅ **结论** 这是一个完整的全栈即时通讯(IM)系统项目「TaoTao IM」,采用微服务架构设计,包含**后端服务、管理后台、用户客户端**三大模块,支持**单聊、群聊、文件传输**等核心IM功能。 ## ✅ **依据** 基于以下文件分析: 1. `IM_Development_Plan.md` - 详细开发计划与架构设计 2. `Deployment_Guide.md` - Docker Compose 部署指南 3. `docker-compose.yml` - 完整的服务编排配置 4. `taotao-im-server/pom.xml` - 后端技术栈依赖 ## ✅ **解释** ### **1. 整体架构** ``` ┌─────────────────────────────────────────────┐ │ TaoTao IM System │ ├─────────────────────────────────────────────┤ │ 1. Backend (Spring Boot 3) │ │ 2. Middle-end Admin (Vue3 + SmartAdmin) │ │ 3. Frontend Client (UniApp + uView) │ │ 4. Infrastructure (Docker Compose) │ └─────────────────────────────────────────────┘ ``` ### **2. 核心模块解析** #### **🏗️ 后端服务** (`taotao-im-server/`) - **技术栈**: JDK 17 + Spring Boot 3 + MyBatis-Plus + MySQL 8 - **通信层**: Netty Socket.IO (WebSocket) + HTTP API - **消息队列**: RabbitMQ (异步消息分发) - **缓存服务**: Redis (Session/Token/消息缓存) - **文件存储**: MinIO (替代S3的对象存储) - **安全认证**: JWT + Sa-Token #### **🖥️ 管理后台** (`taotao-im-admin/`) - **技术栈**: Vue3 + Vite + Ant Design Vue (基于Smart-Admin Fork) - **功能**: 用户管理、群组管理、消息监控、系统配置、RBAC权限控制 - **端口**: 本地开发模式运行 #### **📱 用户客户端** (`im-client/`) - **技术栈**: UniApp + uView (支持H5/App/小程序多端) - **功能**: 单聊/群聊、文件传输、表情发送、消息撤回、在线状态 - **Socket连接**: socket.io-client 实现实时通信 ### **3. 基础设施** (Docker Compose编排 ```yaml 服务包含: - MySQL 8.0 # 主数据库 (端口3306) - Redis 7.0 # 缓存/会话 (端口6379) - RabbitMQ 3.12 # 消息队列 (端口5672/15672) - MinIO # 对象存储 (端口9000/9001) - Backend API # SpringBoot服务 (端口8080/9092) ``` ### **4. 核心功能特性** - ✅ **实时通信**: WebSocket + Socket.IO 双协议支持 - ✅ **消息可靠**: RabbitMQ保证消息不丢失、顺序性 - ✅ **文件传输**: MinIO分布式存储,支持大文件分片 - ✅ **多端同步**: 支持H5、App、小程序多端实时同步 - ✅ **在线状态**: Redis维护用户在线/离线状态 - ✅ **消息历史**: MySQL持久化存储聊天记录 - ✅ **权限控制**: 完善的RBAC权限管理系统 ### **5. 技术亮点** 1. **高可用架构**: 微服务化设计,各组件独立部署 2. **消息可靠性**: 三级保障(内存→Redis→MySQL) 3. **文件优化**: MinIO分布式存储,支持CDN加速 4. **安全防护**: JWT + Sa-Token双重认证机制 5. **监控运维**: 管理后台提供完整监控界面 ## ✅ **建议** ### **启动建议** 1. **快速体验**: 直接运行 `docker-compose up -d` 启动所有服务 2. **开发模式**: 后端使用IDE启动,前后端分别 `npm run dev` 3. **端口访问**: - API: http://localhost:8080 - RabbitMQ管理: http://localhost:15672 (guest/guest) - MinIO管理: http://localhost:9001 (minioadmin/minioadmin) ### **后续开发方向** 1. **性能优化**: 考虑引入消息分库分表策略 2. **扩展功能**: 可添加视频通话、消息加密、多语言支持 3. **监控完善**: 集成Prometheus + Grafana监控体系 4. **高可用**: 部署Nginx负载均衡 + Redis集群 ### **学习价值** 这个项目适合学习: - 微服务架构下的IM系统设计 - WebSocket实时通信最佳实践 - Spring Boot + Vue3全栈开发 - Docker Compose多服务编排 - 消息队列在实际业务中的应用 --- > **提示**: 这是一个**生产级**的即时通讯系统,架构设计完整,代码规范良好,可以直接作为企业级IM系统的基础框架使用。