Skip to content

🥔 全栈多平台聊天应用 - 支持Web、移动端、桌面端的完整聊天解决方案,包含实时聊天、数字钱包、小程序平台和管理后台

License

Notifications You must be signed in to change notification settings

guangteng888/potato-chat-fullstack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 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

🚀 高级功能模块 (v2.0新增)

  • 📞 语音/视频通话 - 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

1. 克隆项目

git clone https://github.com/guangteng888/potato-chat-platform.git
cd potato-chat-platform

2. 数据库设置

-- 创建PostgreSQL数据库
CREATE DATABASE potato_chat;
CREATE USER potato_user WITH PASSWORD 'your_password';
GRANT ALL PRIVILEGES ON DATABASE potato_chat TO potato_user;

3. 环境配置

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

4. 安装依赖

# 安装根目录依赖
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 ..

5. 启动开发环境

启动后端服务器

cd potato-chat-server
npm run dev
# 服务器运行在 http://localhost:3001

启动Web前端

cd potato-chat-clone
npm run dev
# 前端运行在 http://localhost:5173

启动管理后台

cd potato-chat-admin
npm run dev
# 管理后台运行在 http://localhost:5174

📱 移动端开发

iOS开发

cd potato-chat-mobile
npm run build
npx cap add ios
npx cap sync ios
npx cap open ios
# 在Xcode中构建和运行

Android开发

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)

🔧 高级功能配置

WebRTC通话配置

// 在前端应用中配置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身份验证
  • 角色权限管理
  • 会话管理
  • 密码安全

💬 聊天系统 ✅

  • 实时消息传输
  • 群聊支持
  • 消息历史
  • 在线状态显示
  • 消息端到端加密

📞 通话功能 ✅

  • 语音通话
  • 视频通话
  • 通话记录
  • 通话质量控制
  • 多人会议(基础)

📁 文件系统 ✅

  • 文件上传/下载
  • 自动缩略图生成
  • 文件预览
  • 下载统计
  • 文件安全扫描

🌍 国际化 ✅

  • 中英文支持
  • 动态语言切换
  • 时间本地化
  • 数字格式化
  • 右至左语言支持准备

🎨 主题系统 ✅

  • 明暗模式

About

🥔 全栈多平台聊天应用 - 支持Web、移动端、桌面端的完整聊天解决方案,包含实时聊天、数字钱包、小程序平台和管理后台

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published