大家好!我是聪🐥我做了一个适合大家摸鱼聊天的 IM 系统–微狗🐶
项目介绍💡
该项目后端基于 SpringBoot + Redis +Mysql+Netty+SSE,前端基于React+Ant Design Pro 实现=》适合想要学习 IM 的朋友们,项目前端就一个页面全塞里面了哈哈哈😁
微狗是一个基于Java开发的简单聊天网站,旨在提供一个用户友好的界面,让用户可以注册、登录,并与其他用户进行实时聊天。该项目采用了 Java 技术栈以及一些常见的 Web 开发工具,包括 Spring Boot 和 Netty 等。
1、用户注册与登录:用户可以通过注册功能创建新账号,并通过登录功能访问其账户。
2、实时聊天:用户可以与其他在线用户进行实时文本聊天。
3、用户列表:显示当前在线用户列表,方便用户选择聊天对象。
4、简洁界面:界面设计简洁明了,易于操作。
前端🌈:基于鱼总前端模板快速开发
后端🚀: 基于鱼总后端开发模板二次改造,引入sa-token进行token登录
后端二次模板地址🚄:https://github.com/lhccong/springboot-init
GitHub仓库🔽
朋友们点点 Star✨✨✨
前端地址🌈:https://github.com/lhccong/we-go-frontend
后端地址🚀:https://github.com/lhccong/we-go
亮点✨
1、使用 Netty 实现了实时聊天功能,搭建了高性能 websocket 服务
2、使用 SSE 代替轮询,实现消息的通知(如添加好友)
3、使用了适配器模式、门面模式等设计模式,实现了好友列表的查询
4、使用了线程池来实现消息的异步发送
5、使用了 Spring 中的事件(Event) 来实现观察者模式、发布订阅模式
扩展思路
1、实现消息的游标分页查询(使用 id 作为游标 limit 查询)
2、实现群聊的添加
3、消息回复功能(同时支持消息跳转)
4、实现表情包发送
5、实现邀请好友加入群聊、踢出群聊、删除好友等功能