TinyChat 是一个现代化的分布式即时通讯应用,采用微服务架构设计。项目包含基于Qt的桌面客户端和多个后端服务,提供用户认证、好友管理和实时聊天等功能。
- 🎨 现代化UI: 仿微信界面设计,用户体验友好
- 🏗️ 微服务架构: 分布式设计,支持水平扩展
- 🔐 完整认证系统: 邮箱验证、用户注册、登录管理
- 💬 实时通讯: 支持文本、图片等多种消息类型
- 👥 好友系统: 好友搜索、添加、管理功能
- 🌐 多协议支持: HTTP REST + TCP + gRPC
- 🔧 跨平台: 支持 Windows、Linux、macOS
┌─────────────────┐ HTTP/TCP ┌─────────────────┐
│ Qt Client │◄──────────────► │ GateServer │
│ (tinyChat) │ │ (HTTP API) │
└─────────────────┘ └─────────────────┘
│ gRPC
▼
┌─────────────────┐ gRPC ┌─────────────────┐
│ VarifyServer │◄──────────────► │ StatusServer │
│ (Email Verify) │ │ (User Status) │
└─────────────────┘ └─────────────────┘
│ gRPC
▼
┌─────────────────┐
│ ChatServer │
│ (Real-time Chat)│
└─────────────────┘
│
▼
┌─────────────────┐
│ MySQL + Redis │
│ (Database) │
└─────────────────┘
TinyChat/
├── 📱 tinyChat/ # Qt 桌面客户端
│ ├── 🎨 UI组件/ # 自定义UI控件
│ ├── 🌐 网络层/ # HTTP/TCP通信
│ ├── 👤 用户管理/ # 用户状态管理
│ └── 💬 聊天界面/ # 聊天UI组件
├── 🚪 GateServer/ # HTTP API网关
├── 💬 ChatServer/ # 实时聊天服务
├── 📊 StatusServer/ # 用户状态服务
├── ✉️ VarifyServer/ # 邮箱验证服务 (Node.js)
├── 🔧 config.ini.template # 配置文件模板
└── 📚 docs/ # 项目文档
