# JDWA-voice-chat **Repository Path**: Pepsi-git/jdwa-voice-chat ## Basic Information - **Project Name**: JDWA-voice-chat - **Description**: JDWA语音聊天室是一个类似YY语音的在线聊天系统,支持多人实时语音交流、好友管理、房间系统等功能。项目采用前后端分离架构,使用现代化技术栈实现。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-24 - **Last Updated**: 2025-05-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # JDWA语音聊天室 > 项目作者:记得晚安(JDWA) | GitHub: https://github.com/AAASS554 | Email: 1412800823@qq.com ## 项目简介 JDWA语音聊天室是一个类似YY语音的在线聊天系统,支持多人实时语音交流、好友管理、房间系统等功能。项目采用前后端分离架构,使用现代化技术栈实现。 ## 主要功能 - **用户系统**:支持账号注册、登录、个人资料管理 - **好友系统**:添加好友、删除好友、好友在线状态显示 - **房间系统**:创建房间、加入房间、房间密码保护 - **语音系统**:多人实时语音交流、音量控制、静音功能 - **权限系统**:房主权限管理、踢出用户、关闭房间 ## 技术栈 ### 后端技术栈 - Spring Boot 3.x - Spring WebSocket - WebRTC + SFU模式 - JWT + Spring Security - MySQL 8.x - Redis - RabbitMQ - Spring Mail - MinIO - Swagger/OpenAPI ### 前端技术栈 - Vue 3 + TypeScript - ElementUI Plus - Simple-Peer (WebRTC客户端) - Pinia - Axios - Socket.io-client ## 系统架构图 ``` ┌─────────────────┐ ┌─────────────────────────────────────────┐ │ │ │ 服务端 │ │ 客户端 │◄────►│ │ │ (Vue 3 + TS) │ │ ┌─────────┐ ┌──────────┐ ┌──────────┐ │ └─────────────────┘ │ │ API服务 │ │WebSocket │ │ WebRTC │ │ │ │ │ │ 服务 │ │信令服务器 │ │ │ └─────────┘ └──────────┘ └──────────┘ │ │ │ │ │ │ │ ┌─────────────────────────────────┐ │ │ │ Spring Boot 应用 │ │ │ └─────────────────────────────────┘ │ │ │ │ │ │ │ ┌─────────┐ ┌──────────┐ ┌──────────┐ │ │ │ MySQL │ │ Redis │ │ RabbitMQ │ │ │ └─────────┘ └──────────┘ └──────────┘ │ └─────────────────────────────────────────┘ ``` ## 环境要求 - JDK 17+ - Node.js 16+ - MySQL 8.x - Redis 6.x - RabbitMQ 3.x - MinIO ## 快速开始 ### 后端部署 1. 克隆仓库 ```bash git clone https://github.com/AAASS554/JDWA-voice-chat.git cd JDWA-voice-chat ``` 2. 配置数据库 ```sql # 创建数据库 CREATE DATABASE jdwa_voice_chat CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` 3. 修改配置文件 ``` # 编辑 src/main/resources/application.yml 配置文件 # 设置数据库连接、Redis连接等信息 ``` 4. 编译运行 ```bash mvn clean package java -jar target/JDWA-voice-chat-0.1.0.jar ``` ### 前端部署 1. 进入前端目录 ```bash cd JDWA-voice-chat-ui ``` 2. 安装依赖 ```bash npm install ``` 3. 开发模式运行 ```bash npm run dev ``` 4. 生产环境构建 ```bash npm run build ``` ## 项目文档 - [开发进度跟踪](./JDWA开发进度跟踪.md) - [项目更新日志](./update.md) - [数据库设计文档](./docs/数据库设计.md) - [API接口文档](./docs/API接口.md) - [数据库初始化脚本](./gamechat-1.sql) ## 许可证 [MIT License](LICENSE) ## 联系方式 如有任何问题或建议,请通过以下方式联系: - 邮箱:1412800823@qq.com - GitHub:https://github.com/AAASS554