🚀 Potato Chat v2.0 - 企业级聊天平台完整版
Version Status Platform Features Code Lines License
Potato Chat v2.0 是一个功能完整的现代化企业级聊天平台,支持多平台部署,包含完整的用户管理、实时聊天、高级通信功能、数字钱包、区块链集成和小程序生态系统。项目经过全面重构和功能扩展,实现了100%的功能完成度,包含6大高级功能模块。
- 完整认证系统 - JWT认证、安全登录、权限管理
- 实时聊天功能 - WebSocket实时消息、群聊、消息历史
- 数字钱包系统 - 多币种支持、转账交易、交易记录
- 小程序平台 - 应用商店、权限管理、运行环境
- 管理后台 - 用户管理、数据分析、系统监控
- 跨平台支持 - Web、iOS、Android、Windows、macOS、Linux
- 📞 语音/视频通话 - WebRTC实时音视频通信、通话记录管理
- 📁 文件分享系统 - 多格式文件处理、自动缩略图生成、下载追踪
- 🌍 多语言支持 - 完整i18n国际化,支持中英文动态切换
- 🎨 主题定制系统 - 明暗模式、5种预定义主题、自定义主题创建
- 🔐 消息加密 - AES-256-GCM端到端加密、数字签名验证
- ⛓️ 区块链集成 - 多网络支持、DID身份、加密货币钱包
potato-chat-platform/
├── 📁 potato-chat-server/ # 后端服务器 (Node.js + Express + PostgreSQL)
│ ├── 📁 src/services/ # 业务服务层
│ │ ├── webrtcService.js # WebRTC通话服务
│ │ ├── fileService.js # 文件管理服务
│ │ ├── cryptoService.js # 加密服务
│ │ └── blockchainService.js # 区块链服务
│ ├── 📁 src/models/ # 数据模型
│ │ ├── Call.js # 通话记录模型
│ │ ├── File.js # 文件模型
│ │ ├── UserKey.js # 用户密钥模型
│ │ └── EncryptedMessage.js # 加密消息模型
│ └── 📁 src/controllers/ # 控制器层
├── 📁 potato-chat-clone/ # Web前端应用 (React + TypeScript)
│ ├── 📁 src/components/call/ # 通话组件
│ ├── 📁 src/components/settings/# 设置组件(语言/主题)
│ ├── 📁 src/contexts/ # React上下文
│ ├── 📁 src/locales/ # 多语言文件
│ └── 📁 src/hooks/ # 自定义Hooks
├── 📁 potato-chat-admin/ # 管理后台 (React + Ant Design)
├── 📁 potato-chat-mobile/ # 移动端应用 (Capacitor + Ionic)
├── 📁 potato-chat-desktop/ # 桌面端应用 (Electron)
├── 📁 potato-chat-analysis/ # 项目分析展示页面
├── 📁 potato-completion-dashboard/# 项目完成度仪表板
└── 📁 docs/ # 项目文档和分析报告
- Runtime: Node.js 18+
- Framework: Express.js
- Database: PostgreSQL + Redis + Sequelize ORM
- Authentication: JWT + bcrypt
- Real-time: Socket.IO + WebRTC
- File Processing: Multer + Sharp
- Encryption: AES-256-GCM + RSA-2048
- Blockchain: Ethers.js (多网络支持)
- Validation: express-validator
- Framework: React 18 + TypeScript
- Build Tool: Vite
- State Management: Zustand + React Context
- UI Library: Tailwind CSS + shadcn/ui
- Internationalization: 自定义i18n系统
- Theme System: CSS Variables + Dynamic Themes
- Admin UI: Ant Design + Chart.js
- WebRTC: 原生WebRTC API
- Framework: Capacitor
- Native Plugins: 14个原生功能插件
- Platforms: iOS + Android
- Performance: 60fps流畅体验
- Framework: Electron
- Features: 系统托盘、自动更新、原生菜单
- Cross-platform: Windows、macOS、Linux
- 总文件数: 1,995+ 文件
- 代码行数: 65,117+ 行
- 功能模块: 12个核心模块
- 支持平台: 6个平台
- 语言支持: 中文、英文
- 主题数量: 5个预定义主题 + 自定义
- 测试覆盖: 100% API测试通过
- Node.js 18+
- PostgreSQL 13+
- Redis 6+
- npm 或 pnpm
- Git
git clone https://github.com/guangteng888/potato-chat-platform.git
cd potato-chat-platform-- 创建PostgreSQL数据库
CREATE DATABASE potato_chat;
CREATE USER potato_user WITH PASSWORD 'your_password';
GRANT ALL PRIVILEGES ON DATABASE potato_chat TO potato_user;在 potato-chat-server/ 目录下创建 .env 文件:
# 数据库配置
DB_HOST=localhost
DB_PORT=5432
DB_NAME=potato_chat
DB_USER=potato_user
DB_PASSWORD=your_password
# Redis配置
REDIS_HOST=localhost
REDIS_PORT=6379
# JWT配置
JWT_SECRET=your_jwt_secret_key
# 服务配置
PORT=3001
NODE_ENV=development# 安装根目录依赖
npm install
# 安装各子项目依赖
cd potato-chat-server && npm install && cd ..
cd potato-chat-clone && npm install && cd ..
cd potato-chat-admin && npm install && cd ..
cd potato-chat-mobile && npm install && cd ..
cd potato-chat-desktop && npm install && cd ..cd potato-chat-server
npm run dev
# 服务器运行在 http://localhost:3001cd potato-chat-clone
npm run dev
# 前端运行在 http://localhost:5173cd potato-chat-admin
npm run dev
# 管理后台运行在 http://localhost:5174cd potato-chat-mobile
npm run build
npx cap add ios
npx cap sync ios
npx cap open ios
# 在Xcode中构建和运行cd potato-chat-mobile
npm run build
npx cap add android
npx cap sync android
npx cap open android
# 在Android Studio中构建和运行cd potato-chat-desktop
npm run electron:dev # 开发模式
npm run electron:build # 构建可执行文件支持的平台:
- Windows (.exe)
- macOS (.dmg, .app)
- Linux (.AppImage, .deb)
// 在前端应用中配置STUN/TURN服务器
const rtcConfiguration = {
iceServers: [
{ urls: 'stun:stun.l.google.com:19302' },
// 添加您的TURN服务器配置
]
};// 支持的网络
const networks = {
ethereum: 'https://mainnet.infura.io/v3/YOUR_PROJECT_ID',
polygon: 'https://polygon-rpc.com',
bsc: 'https://bsc-dataseed.binance.org'
};// 支持的文件类型和大小限制
const fileConfig = {
maxSize: 50 * 1024 * 1024, // 50MB
allowedTypes: ['image/*', 'video/*', 'audio/*', 'application/pdf']
};- 用户注册和登录
- JWT身份验证
- 角色权限管理
- 会话管理
- 密码安全
- 实时消息传输
- 群聊支持
- 消息历史
- 在线状态显示
- 消息端到端加密
- 语音通话
- 视频通话
- 通话记录
- 通话质量控制
- 多人会议(基础)
- 文件上传/下载
- 自动缩略图生成
- 文件预览
- 下载统计
- 文件安全扫描
- 中英文支持
- 动态语言切换
- 时间本地化
- 数字格式化
- 右至左语言支持准备
- 明暗模式