# minitalk **Repository Path**: caomaolufei1999/minitalk ## Basic Information - **Project Name**: minitalk - **Description**: 聊天app项目 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 3 - **Created**: 2020-12-11 - **Last Updated**: 2025-08-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 1. ### 0. 前言: > 项目简介 **项目名称**:MINITALK **项目基本功能**:仿照微信实现一款基于 Netty 的聊天通信 APP,包含聊天功能,扫码添加好友功能,FastDFS 文件系统实现头像上传下载功能。 **项目待完善功能**:朋友圈功能,图片发送功能等,好友详细信息展示功能之后会完善(主要是学校课比较多没足够的时间),后续完成后会再发一篇博客进行补充,完整代码之后会传到GitHub 和 Gitee 上分享。 **注意事项**:如果该项目对您有帮助,请点赞关注加收藏,之后我也会更新一些其他开源项目的笔记或文档供大家参考,感激不尽! - Gitee 码云地址:[https://gitee.com/caoshipeng](https://gitee.com/caoshipeng) ### 1. 项目简介: > 开发工具介绍 前端开发工具:HBuilderX 后端开发工具:IDEA 2020.1 数据库可视化工具:Navicate Premium (Navicate For MySQL、SQLyog 也可以) > 技术栈介绍 后端:SpringBoot2.x + Netty4.x + WebSocket + Mybatis 前端:H5 Plus + MUI + VUE + Axios 数据库:MySQL 文件存储:Nginx + FastDFS 搭建分布式服务器(先在自己的虚拟机进行搭建,项目扩展功能实现后再部署服务器中) 项目部署:腾讯云/阿里云/七牛云 > 项目基本要求 - 可以独立使用 **Spring SpringMVC SpringBoot Mybatis** 等常用企业级开发框架 - 熟悉 **MySQL** - 了解 Linux 常用基本命令 - 必备前端基础,**HTML5 CSS JavaScript VUE Axios** - 了解 **Nginx FastDFS** 等分布式常用中间件(完全没接触过的读者,先知道是用来做什么的会用即可,**Nginx FastDFS** 在本地虚拟机中具体部署和使用操作我会单独写一篇博客进行介绍) - 了解 **Netty WebSocket** 等通信框架 - 熟练使用 **IDEA HbuilderX** 开发工具 > 前端框架 API 官方文档 MUI 官网开发文档:https://dev.dcloud.net.cn/mui/ui/ HTML5 PLUS 官方文档:http://www.html5plus.org/doc/ > 所有坐标依赖 ```xml io.netty netty-all 4.1.49.Final com.google.zxing javase 3.3.0 com.github.tobato fastdfs-client 1.27.2 com.alibaba fastjson 1.2.62 com.alibaba druid 1.1.19 org.springframework.boot spring-boot-starter-thymeleaf org.springframework.boot spring-boot-starter-web org.mybatis.spring.boot mybatis-spring-boot-starter 2.1.3 org.springframework.boot spring-boot-devtools runtime true mysql mysql-connector-java 5.1.45 org.projectlombok lombok true org.springframework.boot spring-boot-starter-tomcat provided org.springframework.boot spring-boot-starter-test test org.junit.vintage junit-vintage-engine org.springframework spring-test 5.2.8.RELEASE ``` ### 2. 效果展示: ![在这里插入图片描述](README.assets/20201129183903843.png) ![在这里插入图片描述](README.assets/20201129183932364.png) ![在这里插入图片描述](../../../../../%25E7%25AC%2594%25E8%25AE%25B0/springboot%25E7%25AC%2594%25E8%25AE%25B0/%25E9%25A1%25B9%25E7%259B%25AE%25E5%25AE%259E%25E6%2588%2598/springboot+Netty%2520%25E4%25BB%25BF%25E8%2581%258A%25E5%25A4%25A9app/springboot+Netty%2520%25E4%25BB%25BF%25E8%2581%258A%25E5%25A4%25A9app.assets/20201129184005238.png) ![在这里插入图片描述](../../../../../%25E7%25AC%2594%25E8%25AE%25B0/springboot%25E7%25AC%2594%25E8%25AE%25B0/%25E9%25A1%25B9%25E7%259B%25AE%25E5%25AE%259E%25E6%2588%2598/springboot+Netty%2520%25E4%25BB%25BF%25E8%2581%258A%25E5%25A4%25A9app/springboot+Netty%2520%25E4%25BB%25BF%25E8%2581%258A%25E5%25A4%25A9app.assets/2020112918404954.png) ### 3. 项目完整源码地址: Gitee:https://gitee.com/caoshipeng GitHub:https://github.com/CodeFarmer1999 ### 4. 项目需要的运行环境: 项目需要如下环境支持: ![在这里插入图片描述](README.assets/20200928201141801.png) 其中jdk8 也是可以的,我自己用的就是jdk8 相关环境文件获取链接: 链接:https://pan.baidu.com/s/10DS0W-owS5Xg8Di5B-2k9A 提取码:m197 ### 5. 项目运行步骤: - 将项目前后端下载到本地 - 前端导入HbuilderX - 后端代码导入IDEA,并测试本机启动 > 注意事项 前端运行环境比较复杂: - 首先需要手机和电脑同时处于同一WIFI 条件下,主要是因为真机调试的时候需要同网段IP 才能找到移动端设备,如果项目部署 并 打包发布APP 后就可以将后端地址改为服务器ip即可。 - 手机和电脑通过USB 线进行连接,手机需要打开开发者模式并开启USB 调试,如图: ![在这里插入图片描述](README.assets/20201129184128895.png) ![在这里插入图片描述](README.assets/2020092819521062.png) - 与此同时,因为我们的头像上传下载都是存在本机的CentOS7 虚拟机中 FastDFS 分布式文件系统中,因此这时候需要启动虚拟机并运行 niginx 和 fastDFS (虚拟机中配置FastDFS 和 Nginx 参考我的另一篇博客: - [https://blog.csdn.net/weixin_43591980/article/details/108856814](https://blog.csdn.net/weixin_43591980/article/details/108856814) - 也可以使用PC 端手机模拟器运行app ,参考文章: -[https://blog.csdn.net/qq_41870483/article/details/106456202](https://blog.csdn.net/qq_41870483/article/details/106456202) (进行聊天功能测试的时候如果没有两台手机连接电脑 ,这时候就可以使用一台手机和mumu 手机模拟器运行)