在线聊天室项目(Vue3 + SpringBoot)

目录

项目描述

技术栈选型

项目开发过程文档

项目页面效果

项目源码地址


项目描述

1.网页在线聊天室,实现了群组系统和好友系统,因此项目可以在公共群组,私有群组和私人之间进行聊天

2. 项目主要使用Websocket 实时通信技术实现聊天,使用RedisRabbitMQ提高程序的效率和消息收发稳定性。

3.前端使用indexDB实现聊天记录的本地存储和优先显示,使用用户登录信息和本地记录时间戳作为过滤条件实现消息同步。

**4.**项目重点编写是在后端收发逻辑,及数据的存储和同步方面。对于前端视图可能略显简陋。

5.但项目使用Vue3Springboot等主流技术进行开发,易于进行二次开发/功能扩展。

**6.**项目仅实现了重点及基本功能,对于更完善的边缘功能没有特别编写,但不影响聊天室的基本功能。

项目gitee源码在文章最后。

技术栈选型

前端:

Vite 脚手架构建Vue3项目。

ElementPlus组件库快速搭建前端页面。

indexDB将历史记录存储在本地,先展示本地再查询最新消息进行同步。

Pinia实现组件间状态共享

emoji-picker-element库作为聊天时的表情集选择。

axiox异步请求库实现后端接口调用。

后端:

SpringBoot ,②MyBatisPlus

Redis存储用户的连接信息,群组用户关系信息,和注册验证码等缓存数据。

RabbitMQ消息中间件处理消息的收发,异步处理等操作。

WebSocket实现客户端和服务端的实时通信,实现消息实时收发。

⑥使用JavaMail实现用户发送/接收验证码实现邮箱注册。

⑦使用SpringSecurity 中的强散列密码 编码器 工具,实现用户密码加密和验证。

java-jwt用于验证用户登录状态。

数据库管理系统

MySQL

项目开发过程文档

飞书文档地址:https://scnw01ap0tqh.feishu.cn/wiki/UwVzwJPlAiCxv1k2OzJcP3Asnog

文档包含:数据库/表设计,前后端功能设计及开发过程。

项目页面效果

登录&注册

添加好友

私人聊天

创建群组

邀请用户加入群组

主动搜索 加入群组

群组聊天

公共群组(所有用户注册既加入此群组 )

项目源码地址

gitee地址: gitee.com/maohe101/chat-room

关于此项目的启动教程在Gitee中有说明。

相关推荐
qq_12498707531 天前
基于Spring Boot的网上招聘服务系统(源码+论文+部署+安装)
java·spring boot·后端·spring·计算机外设
数字化顾问1 天前
基于Spring Boot + Vue 3的乡村振兴综合服务平台架构设计与实现
vue.js·spring boot·后端
尘下吹霜1 天前
【鉴权架构】SpringBoot + Sa-Token + MyBatis + MySQL + Redis 实现用户鉴权、角色管理、权限管理
spring boot·mysql·mybatis
wxin_VXbishe1 天前
基于SpringBoot的天天商城管理系统的设计与现-计算机毕业设计源码79506
java·c++·spring boot·python·spring·django·php
.格子衫.1 天前
Spring Boot 原理篇
java·spring boot·后端
多云几多1 天前
Yudao单体项目 springboot Admin安全验证开启
java·spring boot·spring·springbootadmin
摇滚侠1 天前
Spring Boot 3零基础教程,Spring Intializer,笔记05
spring boot·笔记·spring
wuxuanok2 天前
WebSocket —— 在线聊天室
网络·websocket·网络协议
Jabes.yang2 天前
Java求职面试实战:从Spring Boot到微服务架构的技术探讨
java·数据库·spring boot·微服务·面试·消息队列·互联网大厂
摇滚侠2 天前
Spring Boot 3零基础教程,Demo小结,笔记04
java·spring boot·笔记