使用说明
PayGate Prime-渠道注册系统
一个现代、安全、响应迅速的Telegram频道注册系统,采用经典的全栈架构(无Webhook)构建。
项目概述
PayGate Prime允许Telegram频道所有者为基于加密货币的订阅支付系统注册他们的频道。用户可以配置多个定价层,选择首选的加密货币网络和货币,并提供支付钱包地址。
技术栈
- 后端: FastAPI(Python 3.11+)
- 前端: React 18+TypeScript+Vite
- 数据库: PostgreSQL 15+
- 造型: Tailwind CSS
- 部署: 谷歌云平台(云运行+云SQL)
看 TECH_STACK.md 详细的技术决策。
项目结构
Website_MCP/
├── backend/ # FastAPI backend application
├── frontend/ # React frontend application
├── docker-compose.yml
├── .gitignore
├── README.md
├── TECH_STACK.md
└── Test_Scope_Checklist_1.md
特性
核心功能
- 通道注册与验证
- 多层订阅定价(1-3层)
- 支持12+区块链网络
- 支持40多种加密货币
- 加密货币钱包地址验证
- 动态网络货币过滤
安全特性
- 谷歌reCAPTCHA v3集成
- 速率限制(每个IP每小时5个注册)
- CSRF保护
- SQL注入预防
- XSS保护
- 输入净化
- 安全标头(CSP、HSTS等)
用户体验
- 移动优先响应式设计
- 实时表单验证
- 渐进式披露
- 无障碍(WCAG 2.1 AA)
- 加载状态和错误处理
- 成功通知
入门指南
先决条件
- Python 3.11+
- Node.js 18+
- PostgreSQL 15+
- Docker和Docker Compose(可选)
- 谷歌云SDK(用于部署)
后端设置
-
导航到后端目录:
cd backend -
创建虚拟环境:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate -
安装依赖项:
pip install -r requirements.txt -
配置环境变量:
cp .env.example .env # Edit .env with your configuration -
运行数据库迁移:
alembic upgrade head -
启动开发服务器:
uvicorn app.main:app --reload --port 8000
后端将在 http://localhost:8000
API文件,网址: http://localhost:8000/docs
前端设置
-
导航到前端目录:
cd frontend -
安装依赖项:
npm install -
配置环境变量:
cp .env.example .env # Edit .env with your configuration -
启动开发服务器:
npm run dev
前端将在 http://localhost:5173
Docker Compose(推荐用于开发)
docker-compose up -d
这将开始:
- 端口5432上的PostgreSQL数据库
- 端口8000上的后端API
- 端口5173上的前端开发服务器
开发工作流程
运行测试
后端:
cd backend
pytest
pytest --cov=app --cov-report=html # With coverage
前端:
cd frontend
npm test
npm run test:coverage # With coverage
代码质量
后端:
black . # Format code
flake8 . # Lint code
mypy . # Type check
前端:
npm run lint # ESLint
npm run format # Prettier
生产大楼
后端:
docker build -t paygate-backend:latest ./backend
前端:
cd frontend
npm run build
部署
谷歌云平台
-
设置云SQL:
gcloud sql instances create mcp-test-paygate-db \ --database-version=POSTGRES_15 \ --tier=db-f1-micro \ --region=us-central1 -
将后端部署到Cloud Run:
gcloud run deploy mcp-test-paygate-api \ --source ./backend \ --region us-central1 \ --allow-unauthenticated -
将前端部署到Cloud Run:
gcloud run deploy mcp-test-paygate-web \ --source ./frontend \ --region us-central1 \ --allow-unauthenticated
请参阅中的详细部署说明 docs/DEPLOYMENT.md (待创建)。
环境变量
后端(.env)
# Application
APP_NAME="PayGate Prime"
APP_VERSION="1.0.0"
DEBUG=false
SECRET_KEY="<your-secret-key>"
# Database
DB_HOST="localhost"
DB_PORT=5432
DB_NAME="paygate_test"
DB_USER="paygate_user"
DB_PASSWORD="<your-db-password>"
# Security
RECAPTCHA_SECRET_KEY="<google-recaptcha-secret>"
CORS_ORIGINS='["http://localhost:5173"]'
# Rate Limiting
RATE_LIMIT_ENABLED=true
RATE_LIMIT_PER_HOUR=5
前端(.env)
VITE_API_URL="http://localhost:8000"
VITE_RECAPTCHA_SITE_KEY="<google-recaptcha-site-key>"
API文档
后端运行后,请访问:
- Swagger用户界面:
http://localhost:8000/docs - 重新记录:
http://localhost:8000/redoc
贡献
这是一个测试范围项目。有关贡献指南,请参阅 CONTRIBUTING.md (待创建)。
安全
如果您发现安全漏洞,请发送电子邮件至security@paygateprime.com(待设置)。
许可证
[待定]
支持
如有疑问或问题:
- 在GitHub存储库中创建问题
- 查看 测试_范围_检查表_1.md 项目进度
项目状态
当前阶段:初步开发 进展:见 测试_范围_检查表_1.md
致谢
- 原始代码库参考:
GCRegister10-26/ - 安全分析:
paygateprime_security_report.txt
注: 这是一个用于MCP测试的测试范围项目。它使用没有webhooks的现代全栈架构重建了www.paygateprime.com。
最后更新日期:2025-10-28
