# 🏗️ 系统架构文档 ## 📋 项目概述 杰邦科项目是一个综合性的管理系统,包含后台管理、微信小程序和官网三个主要模块。 ## 🎯 技术栈 ### 后端技术栈 - **运行时**: Node.js + Express.js - **数据库**: MySQL 8.0 - **ORM**: Sequelize - **认证**: JWT + bcrypt - **缓存**: Redis (可选) - **消息队列**: RabbitMQ (可选) ### 前端技术栈 - **后台管理系统**: Vue 3 + Element Plus - **微信小程序**: 原生小程序 + Vant Weapp - **官方网站**: Vue 3 + Vue Router ### 开发工具 - **包管理**: npm - **容器化**: Docker + Docker Compose - **代码质量**: ESLint + Prettier - **测试**: Jest + Supertest ## 🏢 系统架构 ```mermaid graph TB subgraph "前端应用" A[后台管理系统] B[微信小程序] C[官方网站] end subgraph "后端服务" D[API Gateway] E[用户服务] F[业务服务] G[文件服务] end subgraph "数据层" H[MySQL] I[Redis] J[MinIO] end A --> D B --> D C --> D D --> E D --> F D --> G E --> H F --> H G --> J E --> I ``` ## 🗄️ 数据库设计 ### 核心表结构 ```mermaid erDiagram users ||--o{ orders : places users ||--o{ addresses : has users { bigint id PK varchar username varchar password_hash varchar email varchar phone datetime created_at datetime updated_at } orders ||--o{ order_items : contains orders { bigint id PK bigint user_id FK decimal total_amount varchar status datetime created_at } products ||--o{ order_items : included_in products { bigint id PK varchar name decimal price text description } ``` ## 🌐 环境配置 ### 开发环境 (Development) ```env DB_HOST=localhost DB_PORT=3306 DB_USER=root DB_PASSWORD=rootpassword DB_DATABASE=jiebanke_dev NODE_ENV=development ``` ### 测试环境 (Test) ```env DB_HOST=192.168.0.240 DB_PORT=3306 DB_USER=root DB_PASSWORD=aiotAiot123! DB_DATABASE=jiebandata_test NODE_ENV=test ``` ### 生产环境 (Production) ```env DB_HOST=129.211.213.226 DB_PORT=9527 DB_USER=root DB_PASSWORD=Aiot123 DB_DATABASE=jiebandata NODE_ENV=production ``` ## 🔌 API 设计 ### 用户模块 API | 方法 | 路径 | 描述 | 认证 | |------|------|------|------| | POST | `/api/v1/users/register` | 用户注册 | 否 | | POST | `/api/v1/users/login` | 用户登录 | 否 | | GET | `/api/v1/users/profile` | 获取用户信息 | JWT | | PUT | `/api/v1/users/profile` | 更新用户信息 | JWT | ### 示例请求 ```javascript // 用户登录 POST /api/v1/users/login Content-Type: application/json { "username": "testuser", "password": "password123" } ``` ## 🚀 部署架构 ### 开发部署 ```mermaid graph LR A[本地开发机] --> B[Docker Compose] B --> C[MySQL容器] B --> D[Node.js应用] B --> E[Redis容器] ``` ### 生产部署 ```mermaid graph TB subgraph "云服务器" A[Nginx] B[Node.js集群] C[MySQL主从] D[Redis哨兵] end A --> B B --> C B --> D ``` ## 📊 监控与日志 - **应用监控**: PM2 + Keymetrics - **日志管理**: Winston + ELK Stack - **性能监控**: New Relic / Datadog - **错误追踪**: Sentry ## 🔒 安全架构 ### 认证授权 - JWT Token 认证 - RBAC (基于角色的访问控制) - API 速率限制 ### 数据安全 - HTTPS 加密传输 - 密码加盐哈希存储 - SQL 注入防护 - XSS 攻击防护 ### 网络安全 - 防火墙规则 - IP 白名单 - DDoS 防护 ## 📈 性能优化 ### 数据库优化 - 索引优化 - 查询缓存 - 读写分离 ### 应用优化 - 响应压缩 - 静态资源CDN - 内存缓存 ### 前端优化 - 代码分割 - 懒加载 - 图片优化 ## 🛠️ 开发规范 ### 代码规范 - ESLint + Prettier 统一代码风格 - Git Commit 消息规范 - 代码审查流程 ### 分支策略 - Git Flow 工作流 - 功能分支开发 - 发布分支管理 ### 测试策略 - 单元测试覆盖核心逻辑 - 集成测试API接口 - E2E测试用户流程 ## 📝 文档体系 1. **ARCHITECTURE.md** - 系统架构文档 (当前文件) 2. **README.md** - 项目说明文档 3. **API_DOCS.md** - API接口文档 4. **DEPLOYMENT.md** - 部署指南 5. **DEVELOPMENT.md** - 开发指南 ## 🎯 后续规划 ### 短期目标 - [ ] 完善用户管理系统 - [ ] 实现订单业务流程 - [ ] 部署测试环境 ### 中期目标 - [ ] 微服务架构改造 - [ ] 容器化部署 - [ ] 自动化测试覆盖 ### 长期目标 - [ ] 大数据分析平台 - [ ] AI智能推荐 - [ ] 多语言国际化 --- *最后更新: 2024年* 📅