# im_chat **Repository Path**: yinyong0607/im_chat ## Basic Information - **Project Name**: im_chat - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-29 - **Last Updated**: 2025-08-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # IM Chat Application 一个基于Next.js + Go + WebSocket的即时通讯应用 ## 项目结构 \`\`\` im-chat-app/ ├── frontend/ # Vue3前端 │ ├── src/ │ │ ├── App.vue │ │ ├── main.js │ │ └── style.css │ ├── public/ │ ├── package.json │ ├── vite.config.js │ ├── tailwind.config.js │ ├── postcss.config.js │ ├── index.html │ ├── Dockerfile │ └── nginx.conf ├── backend/ # Go后端 │ ├── main.go │ ├── go.mod │ ├── go.sum │ └── Dockerfile ├── docker-compose.yml # Docker编排文件 ├── start-docker.sh # Docker启动脚本 ├── start-dev.sh # 开发环境启动脚本 └── README.md \`\`\` ## 快速开始 ### 方式1: Docker部署(推荐) \`\`\`bash # 给脚本执行权限 chmod +x start-docker.sh # 启动所有服务 ./start-docker.sh \`\`\` ### 方式2: 开发环境 \`\`\`bash # 给脚本执行权限 chmod +x start-dev.sh # 启动开发环境 ./start-dev.sh \`\`\` ### 方式3: 手动启动 \`\`\`bash # 1. 启动EMQX docker run -d --name emqx -p 1883:1883 -p 18083:18083 emqx/emqx:latest # 2. 启动后端 cd backend go mod tidy go run main.go # 3. 启动前端 cd frontend npm install --legacy-peer-deps npm run dev \`\`\` ## 访问地址 - **前端应用**: http://localhost:5173 - **后端API**: http://localhost:8080 - **EMQX控制台**: http://localhost:18083 (admin/public) ## 功能特性 - ✅ 实时私聊和群聊 - ✅ 用户在线状态显示 - ✅ 消息持久化存储(EMQX) - ✅ 自动重连机制 - ✅ 响应式设计 - ✅ Docker容器化部署 - ✅ 健康检查和监控 ## 技术栈 **前端:** - Vue 3 + Composition API - Vite 构建工具 - Tailwind CSS 样式框架 - WebSocket 实时通信 **后端:** - Go 1.21 - Gorilla WebSocket - EMQX MQTT 消息队列 **部署:** - Docker & Docker Compose - Nginx 反向代理 ## 开发说明 ### 环境要求 - Node.js 18+ - Go 1.21+ - Docker & Docker Compose ### 开发模式 \`\`\`bash # 前端开发 cd frontend npm run dev # 后端开发 cd backend go run main.go \`\`\` ### 构建生产版本 \`\`\`bash # 前端构建 cd frontend npm run build # 后端构建 cd backend go build -o main . \`\`\` ## 故障排除 ### 常见问题 1. **npm依赖冲突** \`\`\`bash npm install --legacy-peer-deps \`\`\` 2. **Docker端口冲突** \`\`\`bash docker-compose down docker system prune -f \`\`\` 3. **WebSocket连接失败** - 检查后端服务是否启动 - 确认防火墙设置 - 查看浏览器控制台错误 ### 日志查看 \`\`\`bash # Docker日志 docker-compose logs -f # 单个服务日志 docker-compose logs -f backend docker-compose logs -f frontend docker-compose logs -f emqx \`\`\` ## 许可证 MIT License