EasyChat 是一款从零开始,基于 Spring Boot + Electron + Vue 3 技术栈打造的全功能、仿微信风格的桌面端在线聊天系统。本项目旨在通过实践,完整地覆盖一个现代化全栈应用的设计、开发、部署与发布全链路流程。
它不仅仅是一个聊天工具,更是一个包含了用户认证、实时通信、好友管理、群组社交、富媒体消息、云存储集成等多个核心模块的综合性项目。
- 现代化的 UI/UX: 采用经典的IM布局,界面简洁,交互流畅。
- 核心聊天功能:
- 私聊 & 群聊: 支持点对点和多对多的实时消息通信。
* **富媒体消息**: 不再局限于文字!支持发送 **Emoji表情、图片、视频、文件**,并能在聊天窗口中完美预览。
* **实时提醒**: “未读消息”与“新的好友请求”均有小红点提示,重要信息不错过。
* **消息持久化**: 所有聊天记录(包括离线消息)都安全地存储在云端数据库中。
- 完善的社交体系:
- 身份系统: 基于唯一的
EasyChat号,支持注册和登录。 - 好友管理: 支持搜索用户、发送/处理好友请求、删除好友的完整流程。
- 身份系统: 基于唯一的
* **群组管理**: 支持**创建群聊、邀请/移出成员、修改群信息**(群头像、群名、群公告)。
- 个性化设置:
- 支持用户自由修改个人头像、昵称。
本项目是一个典型的前后端分离的全栈应用。
- 框架: Spring Boot
- 语言: Java 21
- 身份认证: Spring Security + JWT (JSON Web Token)
- 数据库: MySQL 8.0 + Spring Data JPA
- 实时通信: WebSocket
- 文件存储: 阿里云 OSS
- 构建工具: Maven
- 框架: Electron + Vite
- 前端核心: Vue 3 + TypeScript
- 状态管理: Pinia
- UI 组件库: Element Plus
- HTTP 请求: Axios
- 打包工具: Electron Builder
- 服务器: 阿里云 ECS (Ubuntu Server 22.04 LTS)
- 反向代理: Nginx
- 安全: HTTPS (由 Let's Encrypt + Certbot 自动配置)
- 进程守护: systemd
- 访问本项目的 Releases 页面。
- 根据你的操作系统,下载最新的安装包(例如
EasyChat.Setup.1.0.0.exe)。 - 双击运行安装程序,一路“下一步”即可。
- 打开 EasyChat,注册一个新账号,开始你的聊天之旅!