一个类似微信的实时聊天应用,采用前后端分离架构。
- React 18
- TypeScript
- Vite
- Tailwind CSS
- Socket.IO Client
- React Router
- NestJS
- TypeScript
- TypeORM
- SQLite
- Socket.IO
- JWT认证
- bcryptjs
cchat/
├── packages/
│ ├── frontend/ # React前端应用
│ └── backend/ # NestJS后端API
├── package.json # 根package.json
└── pnpm-workspace.yaml # pnpm工作区配置
# 安装所有依赖
pnpm install# 同时启动前端和后端开发服务器
pnpm dev
# 或分别启动
pnpm --filter frontend dev # 前端 - http://localhost:3000
pnpm --filter backend start:dev # 后端 - http://localhost:3001# 构建所有项目
pnpm build- 用户注册和登录
- JWT身份认证
- 实时聊天 (Socket.IO)
- 房间系统
- SQLite数据库
- 消息持久化
- 文件上传
- 群聊功能
- 用户头像
POST /api/auth/register- 用户注册POST /api/auth/login- 用户登录
GET /api/users/profile- 获取用户信息
join-room- 加入聊天室send-message- 发送消息receive-message- 接收消息leave-room- 离开聊天室
- 前端端口: 3000
- 后端端口: 3001
- 数据库文件:
packages/backend/database.sqlite - JWT密钥: 生产环境请修改为安全密钥