621 lines
20 KiB
Markdown
621 lines
20 KiB
Markdown
# 海洋项目管理系统 - 技术架构文档
|
||
|
||
## 1. 技术选型
|
||
|
||
### 1.1 技术栈
|
||
|
||
| 层级 | 技术 | 说明 |
|
||
|------|------|------|
|
||
| **前端** | | |
|
||
| | React + React Router | 前后端分离架构 |
|
||
| | Ant Design | 企业级UI组件 |
|
||
| | Axios | HTTP客户端 |
|
||
| | Context API | 简单状态管理 |
|
||
| **后端** | | |
|
||
| | FastAPI | 高性能异步框架,自动生成API文档 |
|
||
| | SQLAlchemy 2.0 | 类型安全的ORM,支持异步 |
|
||
| | MySQL 8.0 | 关系型数据库 |
|
||
| | JWT (PyJWT) | 无状态认证 |
|
||
| | bcrypt | 密码加密存储 |
|
||
| | Pydantic v2 | 请求/响应数据验证 |
|
||
| **开发工具** | | |
|
||
| | Create React App | 前端开发环境 |
|
||
| | pipenv | Python依赖管理 |
|
||
| | pytest | 测试框架 |
|
||
|
||
### 1.2 系统特点
|
||
- 轻量级架构,适合小并发场景
|
||
- 无需Redis缓存,降低部署复杂度
|
||
- 基于角色的权限控制(RBAC)
|
||
- 前后端分离,易于维护和扩展
|
||
- 自动生成API文档(Swagger UI)
|
||
|
||
## 2. 系统架构
|
||
|
||
### 2.1 整体架构图
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────┐
|
||
│ 浏览器 │
|
||
│ (React + Ant Design + React Router + Axios) │
|
||
└─────────────────────────────────────────────────┘
|
||
│
|
||
│ HTTP/HTTPS
|
||
│ JWT Token
|
||
▼
|
||
┌─────────────────────────────────────────────────┐
|
||
│ FastAPI 后端服务 │
|
||
│ ┌─────────────────────────────────────────┐ │
|
||
│ │ API Layer (FastAPI Routes) │ │
|
||
│ ├─────────────────────────────────────────┤ │
|
||
│ │ Controllers (业务逻辑) │ │
|
||
│ ├─────────────────────────────────────────┤ │
|
||
│ │ Services (复杂业务逻辑) │ │
|
||
│ ├─────────────────────────────────────────┤ │
|
||
│ │ Data Access (SQLAlchemy ORM) │ │
|
||
│ ├─────────────────────────────────────────┤ │
|
||
│ │ Middleware (认证/日志/错误) │ │
|
||
│ └─────────────────────────────────────────┘ │
|
||
└─────────────────────────────────────────────────┘
|
||
│
|
||
│ SQL
|
||
▼
|
||
┌─────────────────────────────────────────────────┐
|
||
│ MySQL 8.0 数据库 │
|
||
│ ┌─────────────────────────────────────────┐ │
|
||
│ │ users │ │
|
||
│ │ projects (60+字段) │ │
|
||
│ └─────────────────────────────────────────┘ │
|
||
└─────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### 2.2 分层架构
|
||
|
||
#### 2.2.1 API Layer (路由层)
|
||
- 定义API端点
|
||
- 处理HTTP请求和响应
|
||
- 参数验证
|
||
|
||
#### 2.2.2 Controllers (控制器层)
|
||
- 实现业务逻辑
|
||
- 调用Services层
|
||
- 返回响应数据
|
||
|
||
#### 2.2.3 Services (服务层)
|
||
- 实现复杂的业务逻辑
|
||
- 数据转换和处理
|
||
- 调用ORM层
|
||
|
||
#### 2.2.4 Data Access (数据访问层)
|
||
- 使用SQLAlchemy ORM
|
||
- 数据库操作
|
||
- 数据模型定义
|
||
|
||
#### 2.2.5 Middleware (中间件层)
|
||
- 认证中间件
|
||
- 日志中间件
|
||
- 错误处理中间件
|
||
|
||
## 3. 项目目录结构
|
||
|
||
```
|
||
ocean_project_manager/
|
||
├── backend/ # 后端程序员工作区
|
||
│ ├── src/ # 源代码
|
||
│ │ ├── controllers/ # 控制器层
|
||
│ │ │ ├── auth.py
|
||
│ │ │ ├── users.py
|
||
│ │ │ └── projects.py
|
||
│ │ ├── services/ # 业务逻辑层
|
||
│ │ │ ├── auth_service.py
|
||
│ │ │ ├── user_service.py
|
||
│ │ │ └── project_service.py
|
||
│ │ ├── models/ # 数据模型
|
||
│ │ │ ├── user.py
|
||
│ │ │ └── project.py
|
||
│ │ ├── routes/ # 路由定义
|
||
│ │ │ ├── auth.py
|
||
│ │ │ ├── users.py
|
||
│ │ │ └── projects.py
|
||
│ │ ├── middleware/ # 中间件
|
||
│ │ │ ├── auth.py
|
||
│ │ │ └── logging.py
|
||
│ │ ├── schemas/ # Pydantic模型
|
||
│ │ │ ├── user.py
|
||
│ │ │ └── project.py
|
||
│ │ ├── utils/ # 工具函数
|
||
│ │ │ ├── password.py
|
||
│ │ │ └── jwt.py
|
||
│ │ └── dependencies.py # 依赖注入
|
||
│ ├── tests/ # 测试目录
|
||
│ │ ├── test_auth.py
|
||
│ │ ├── test_users.py
|
||
│ │ └── test_projects.py
|
||
│ ├── config/ # 配置文件
|
||
│ │ ├── __init__.py
|
||
│ │ ├── database.py # 数据库配置
|
||
│ │ ├── settings.py # 应用配置
|
||
│ │ ├── init-database.sql # 数据库初始化
|
||
│ │ └── import-excel-data.py # Excel导入脚本
|
||
│ ├── docs/ # API文档
|
||
│ │ └── api.md # API接口文档
|
||
│ ├── requirements.txt # Python依赖
|
||
│ ├── main.py # FastAPI应用入口
|
||
│ ├── WORKSTANDARDS.md # 后端工作规范
|
||
│ └── README.md # 后端开发说明
|
||
│
|
||
├── frontend/ # 前端程序员工作区
|
||
│ ├── src/ # 源代码
|
||
│ │ ├── components/ # 可复用组件
|
||
│ │ │ ├── Layout.jsx
|
||
│ │ │ ├── Header.jsx
|
||
│ │ │ └── Sidebar.jsx
|
||
│ │ ├── pages/ # 页面组件
|
||
│ │ │ ├── Login.jsx
|
||
│ │ │ ├── Dashboard.jsx
|
||
│ │ │ ├── UserList.jsx
|
||
│ │ │ ├── UserForm.jsx
|
||
│ │ │ ├── ProjectList.jsx
|
||
│ │ │ ├── ProjectForm.jsx
|
||
│ │ │ └── ProjectDetail.jsx
|
||
│ │ ├── hooks/ # 自定义Hooks
|
||
│ │ │ └── useAuth.js
|
||
│ │ ├── services/ # API服务
|
||
│ │ │ ├── api.js # Axios配置
|
||
│ │ │ ├── auth.js
|
||
│ │ │ ├── user.js
|
||
│ │ │ └── project.js
|
||
│ │ ├── utils/ # 工具函数
|
||
│ │ │ └── auth.js
|
||
│ │ ├── styles/ # 样式文件
|
||
│ │ │ └── global.css
|
||
│ │ ├── types/ # TypeScript类型定义
|
||
│ │ │ ├── user.ts
|
||
│ │ │ └── project.ts
|
||
│ │ ├── App.jsx # 根组件
|
||
│ │ └── index.js # 入口文件
|
||
│ ├── tests/ # 组件测试
|
||
│ ├── docs/ # 组件文档
|
||
│ │ └── components.md
|
||
│ ├── package.json
|
||
│ ├── WORKSTANDARDS.md # 前端工作规范
|
||
│ └── README.md # 前端开发说明
|
||
│
|
||
├── testing/ # 测试工程师工作区
|
||
│ ├── testcases/ # 测试用例
|
||
│ │ ├── api/ # API测试用例
|
||
│ │ ├── ui/ # UI测试用例
|
||
│ │ └── integration/ # 集成测试用例
|
||
│ ├── reports/ # 测试报告
|
||
│ ├── data/ # 测试数据
|
||
│ ├── scripts/ # 自动化测试脚本
|
||
│ ├── docs/ # 测试文档
|
||
│ ├── WORKSTANDARDS.md # 测试工作规范
|
||
│ └── README.md # 测试工作说明
|
||
│
|
||
└── docs/ # 项目文档
|
||
├── 产品设计文档.md # 产品需求文档(PRD)
|
||
├── 技术架构文档.md # 技术架构文档(本文档)
|
||
├── 后端架构设计.md # 后端技术架构
|
||
├── api.md # API接口文档
|
||
├── ui-design-spec.md # UI设计规范
|
||
├── TEAM-COLLABORATION.md # 团队协作规范
|
||
├── database-design.md # 数据库设计
|
||
├── database-and-data-initialization.md # 数据初始化
|
||
├── example.xls # Excel数据源
|
||
└── plans/ # 设计方案
|
||
```
|
||
|
||
## 4. 数据库设计
|
||
|
||
### 4.1 用户表 (users)
|
||
|
||
| 字段名 | 类型 | 约束 | 说明 |
|
||
|--------|------|------|------|
|
||
| id | INT | PRIMARY KEY, AUTO_INCREMENT | 用户ID |
|
||
| username | VARCHAR(50) | UNIQUE, NOT NULL | 用户名 |
|
||
| password_hash | VARCHAR(255) | NOT NULL | 密码哈希 |
|
||
| real_name | VARCHAR(100) | NOT NULL | 真实姓名 |
|
||
| department | VARCHAR(50) | NOT NULL | 部门 |
|
||
| role | ENUM | NOT NULL | 角色(admin/market/other) |
|
||
| email | VARCHAR(100) | UNIQUE | 邮箱 |
|
||
| phone | VARCHAR(20) | | 电话 |
|
||
| is_active | BOOLEAN | DEFAULT TRUE | 是否激活 |
|
||
| created_at | DATETIME | DEFAULT CURRENT_TIMESTAMP | 创建时间 |
|
||
| updated_at | DATETIME | DEFAULT CURRENT_TIMESTAMP ON UPDATE | 更新时间 |
|
||
|
||
```sql
|
||
CREATE TABLE users (
|
||
id INT PRIMARY KEY AUTO_INCREMENT,
|
||
username VARCHAR(50) UNIQUE NOT NULL,
|
||
password_hash VARCHAR(255) NOT NULL,
|
||
real_name VARCHAR(100) NOT NULL,
|
||
department VARCHAR(50) NOT NULL,
|
||
role ENUM('admin', 'market', 'other') NOT NULL,
|
||
email VARCHAR(100) UNIQUE,
|
||
phone VARCHAR(20),
|
||
is_active BOOLEAN DEFAULT TRUE,
|
||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||
INDEX idx_users_username (username),
|
||
INDEX idx_users_department (department),
|
||
INDEX idx_users_role (role)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';
|
||
```
|
||
|
||
### 4.2 项目表 (projects)
|
||
|
||
基于`docs/database-design.md`,包含60+个字段:
|
||
|
||
**基础信息字段:**
|
||
- project_no, power_contract_no, name, subitem_count, subitem_code
|
||
- total_investment, contract_amount, settlement_amount, total_cost_estimated
|
||
- voltage_level, engineering_type, owner_unit, owner_contact, bidding_type
|
||
|
||
**时间字段:**
|
||
- signing_date, start_date, planned_end_date, actual_end_date
|
||
- warranty_expiry_date, actual_warranty_refund_date
|
||
|
||
**成本控制字段:**
|
||
- total_cost_control, is_adjusted
|
||
- labor_cost_control, labor_cost_planned, labor_cost_paid
|
||
- material_cost_control, material_cost_payable, material_cost_actual, material_cost_paid
|
||
- other_cost_control, other_cost_payable, other_cost_actual
|
||
|
||
**财务信息字段:**
|
||
- warranty_amount, warranty_ratio
|
||
- tax_amount, profit, actual_profit
|
||
- cost_settlement_amount
|
||
|
||
**应收应付字段:**
|
||
- cumulative_progress
|
||
- receivable_amount, invoice_amount, actual_receipt_amount, receipt_completion_rate
|
||
- payable_amount, actual_payment_amount, unpaid_amount, payment_completion_rate
|
||
|
||
**结算信息字段:**
|
||
- settlement_cost_amount, settlement_labor_cost, settlement_material_cost, settlement_other_cost
|
||
- due_settlement_count, unsettlement_count
|
||
|
||
**项目管理字段:**
|
||
- project_department, project_leader, payment_method
|
||
- problems, suggestions, remarks
|
||
|
||
**注意**:项目表不使用status字段,数据本身反映了项目的真实状态。
|
||
|
||
### 4.3 索引设计
|
||
|
||
```sql
|
||
-- 项目编号索引
|
||
CREATE INDEX idx_projects_project_no ON projects(project_no);
|
||
|
||
-- 工程类别索引
|
||
CREATE INDEX idx_projects_engineering_type ON projects(engineering_type);
|
||
|
||
-- 所属项目部索引
|
||
CREATE INDEX idx_projects_project_department ON projects(project_department);
|
||
|
||
-- 创建人索引
|
||
CREATE INDEX idx_projects_created_by ON projects(created_by);
|
||
|
||
-- 签订日期索引
|
||
CREATE INDEX idx_projects_signing_date ON projects(signing_date);
|
||
|
||
-- 计划竣工日期索引
|
||
CREATE INDEX idx_projects_planned_end_date ON projects(planned_end_date);
|
||
|
||
-- 复合索引:工程类别 + 创建人
|
||
CREATE INDEX idx_projects_type_created_by ON projects(engineering_type, created_by);
|
||
```
|
||
|
||
## 5. API设计
|
||
|
||
### 5.1 API规范
|
||
|
||
- **Base URL**: `/api/v1`
|
||
- **Content-Type**: `application/json`
|
||
- **认证方式**: JWT Token(在Header中传递:`Authorization: Bearer <token>`)
|
||
- **API文档地址**: `http://localhost:5000/docs` (Swagger UI)
|
||
|
||
### 5.2 统一响应格式
|
||
|
||
```json
|
||
{
|
||
"success": true,
|
||
"message": "操作成功",
|
||
"data": {},
|
||
"error_code": null
|
||
}
|
||
```
|
||
|
||
### 5.3 错误码设计
|
||
|
||
| 错误码 | 说明 | HTTP状态码 |
|
||
|--------|------|-----------|
|
||
| 1001 | 参数验证失败 | 400 |
|
||
| 1002 | 用户名或密码错误 | 401 |
|
||
| 1003 | Token无效或过期 | 401 |
|
||
| 2001 | 资源不存在 | 404 |
|
||
| 2002 | 资源已存在 | 409 |
|
||
| 3001 | 权限不足 | 403 |
|
||
| 5000 | 服务器内部错误 | 500 |
|
||
|
||
### 5.4 API端点
|
||
|
||
详细的API文档请参考:[API文档](api.md)
|
||
|
||
主要端点包括:
|
||
- 认证相关:POST /auth/login, GET /auth/me, POST /auth/logout
|
||
- 用户管理:GET /users, POST /users, PUT /users/{id}, DELETE /users/{id}
|
||
- 项目管理:GET /projects, POST /projects, PUT /projects/{id}, DELETE /projects/{id}
|
||
- 项目统计:GET /projects/statistics, GET /projects/statistics/group, GET /projects/statistics/timeline
|
||
|
||
## 6. 前端设计
|
||
|
||
### 6.1 技术栈
|
||
- React 18
|
||
- React Router 6
|
||
- Ant Design 5
|
||
- Axios
|
||
- Context API
|
||
|
||
### 6.2 组件架构
|
||
|
||
```
|
||
App
|
||
├── ProtectedRoute (路由守卫)
|
||
├── Layout (主布局)
|
||
│ ├── Header (顶部导航)
|
||
│ └── Sidebar (侧边栏)
|
||
├── Login (登录页)
|
||
└── Dashboard (仪表盘)
|
||
├── UserList (用户列表)
|
||
│ └── UserForm (用户表单)
|
||
└── ProjectList (项目列表)
|
||
├── ProjectForm (项目表单)
|
||
└── ProjectDetail (项目详情)
|
||
```
|
||
|
||
### 6.3 状态管理
|
||
使用React Context API进行状态管理:
|
||
- AuthContext: 认证状态(用户信息、Token、登录/登出)
|
||
- 可以根据需要扩展其他Context
|
||
|
||
### 6.4 API服务
|
||
使用Axios封装HTTP请求:
|
||
- 统一的baseURL配置
|
||
- 请求拦截器(自动添加Token)
|
||
- 响应拦截器(统一错误处理)
|
||
- API模块化管理
|
||
|
||
## 7. 安全设计
|
||
|
||
### 7.1 认证安全
|
||
- 密码使用bcrypt加密存储(salt rounds=12)
|
||
- JWT Token有效期24小时
|
||
- Token存储在LocalStorage(可改为HttpOnly Cookie)
|
||
- 实现Token自动刷新机制
|
||
|
||
### 7.2 权限控制
|
||
- 后端基于依赖注入的权限验证
|
||
- 支持角色级别权限控制(admin/market/other)
|
||
- 支持资源级别权限控制(如market只能编辑自己创建的项目)
|
||
- 前端路由级别的权限控制(ProtectedRoute组件)
|
||
|
||
### 7.3 数据安全
|
||
- SQL注入防护(SQLAlchemy ORM参数化查询)
|
||
- XSS防护(React自动转义)
|
||
- 输入验证(前后端双重验证:Pydantic + 前端表单验证)
|
||
- 敏感信息加密(密码哈希)
|
||
|
||
### 7.4 其他安全措施
|
||
- CORS配置(限制跨域访问)
|
||
- 请求频率限制(可选,使用slowapi)
|
||
- HTTPS部署(生产环境必须)
|
||
|
||
## 8. 部署方案
|
||
|
||
### 8.1 开发环境
|
||
|
||
**后端:**
|
||
```bash
|
||
cd backend
|
||
pip install -r requirements.txt
|
||
uvicorn main:app --reload --host 0.0.0.0 --port 5000
|
||
# 服务运行在 http://localhost:5000
|
||
```
|
||
|
||
**前端:**
|
||
```bash
|
||
cd frontend
|
||
npm install
|
||
npm start
|
||
# 服务运行在 http://localhost:3000
|
||
```
|
||
|
||
**数据库:**
|
||
- 本地MySQL数据库
|
||
- 数据库名:`project_manager`
|
||
- 配置文件:`backend/config/.env`
|
||
|
||
### 8.2 生产环境
|
||
|
||
**推荐方案:使用Docker Compose**
|
||
|
||
```yaml
|
||
version: '3.8'
|
||
|
||
services:
|
||
mysql:
|
||
image: mysql:8.0
|
||
environment:
|
||
MYSQL_ROOT_PASSWORD: rootpassword
|
||
MYSQL_DATABASE: project_manager
|
||
volumes:
|
||
- mysql_data:/var/lib/mysql
|
||
ports:
|
||
- "3306:3306"
|
||
|
||
backend:
|
||
build: ./backend
|
||
ports:
|
||
- "5000:5000"
|
||
depends_on:
|
||
- mysql
|
||
environment:
|
||
DATABASE_URL: mysql+aiomysql://root:rootpassword@mysql/project_manager
|
||
SECRET_KEY: your-secret-key
|
||
|
||
frontend:
|
||
build: ./frontend
|
||
ports:
|
||
- "80:80"
|
||
depends_on:
|
||
- backend
|
||
|
||
volumes:
|
||
mysql_data:
|
||
```
|
||
|
||
**部署命令:**
|
||
```bash
|
||
docker-compose up -d
|
||
```
|
||
|
||
### 8.3 服务器要求
|
||
|
||
**最低配置:**
|
||
- CPU: 2核
|
||
- 内存: 4GB
|
||
- 硬盘: 50GB
|
||
- 系统: Ubuntu 20.04+ 或 CentOS 7+
|
||
|
||
**推荐配置:**
|
||
- CPU: 4核
|
||
- 内存: 8GB
|
||
- 硬盘: 100GB
|
||
- 系统: Ubuntu 22.04+ 或 CentOS 8+
|
||
|
||
## 9. 开发规范
|
||
|
||
### 9.1 后端开发规范
|
||
|
||
**代码风格:**
|
||
- 遵循PEP 8规范
|
||
- 使用Type Hints进行类型标注
|
||
- 函数和类添加docstring
|
||
|
||
**提交规范:**
|
||
- 提交格式: `[backend] <类型>: <描述>`
|
||
- 类型: feat, fix, docs, style, refactor, test, chore
|
||
|
||
**测试要求:**
|
||
- 单元测试覆盖率 > 80%
|
||
- 使用pytest测试框架
|
||
- 测试文件命名: `test_<模块名>.py`
|
||
|
||
### 9.2 前端开发规范
|
||
|
||
**代码风格:**
|
||
- 遵循ESLint规则
|
||
- 使用Prettier格式化代码
|
||
- 组件使用函数式组件 + Hooks
|
||
|
||
**提交规范:**
|
||
- 提交格式: `[frontend] <类型>: <描述>`
|
||
- 类型: feat, fix, style, refactor, test, chore
|
||
|
||
**测试要求:**
|
||
- 关键组件必须有测试
|
||
- 使用Jest或Vitest测试框架
|
||
- 测试文件命名: `<组件名>.test.jsx`
|
||
|
||
### 9.3 测试规范
|
||
|
||
**测试分类:**
|
||
- 单元测试:测试单个函数/组件
|
||
- 集成测试:测试模块间的交互
|
||
- 端到端测试:测试完整业务流程
|
||
|
||
**测试覆盖率:**
|
||
- 后端: > 80%
|
||
- 前端关键组件: > 70%
|
||
|
||
## 10. 性能优化
|
||
|
||
### 10.1 数据库优化
|
||
- 合理使用索引
|
||
- 查询优化(避免N+1查询)
|
||
- 使用连接池
|
||
- 定期备份和优化
|
||
|
||
### 10.2 后端优化
|
||
- 异步处理(FastAPI async/await)
|
||
- 缓存(可选,Redis)
|
||
- 请求限流
|
||
- 日志优化
|
||
|
||
### 10.3 前端优化
|
||
- 代码分割(React.lazy)
|
||
- 图片懒加载
|
||
- 使用CDN
|
||
- Gzip压缩
|
||
|
||
## 11. 监控和日志
|
||
|
||
### 11.1 日志管理
|
||
- 后端使用Python logging模块
|
||
- 日志级别:DEBUG, INFO, WARNING, ERROR, CRITICAL
|
||
- 日志文件按日期分割
|
||
|
||
### 11.2 性能监控
|
||
- 使用APM工具(如Sentry)
|
||
- 监控API响应时间
|
||
- 监控错误率
|
||
|
||
### 11.3 错误追踪
|
||
- 自动捕获和记录错误
|
||
- 发送错误告警
|
||
- 错误堆栈追踪
|
||
|
||
## 12. 备份和恢复
|
||
|
||
### 12.1 数据库备份
|
||
```bash
|
||
# 备份
|
||
mysqldump -u root -p project_manager > backup_$(date +%Y%m%d).sql
|
||
|
||
# 恢复
|
||
mysql -u root -p project_manager < backup_20260125.sql
|
||
```
|
||
|
||
### 12.2 代码备份
|
||
- 使用Git进行版本控制
|
||
- 定期推送到远程仓库
|
||
- 打标签标记重要版本
|
||
|
||
### 12.3 备份策略
|
||
- 每日自动备份数据库
|
||
- 每周备份到远程服务器
|
||
- 保留最近30天的备份
|
||
|
||
## 13. 相关文档
|
||
|
||
### 13.1 技术文档
|
||
- [后端架构设计](后端架构设计.md) - 后端技术架构详解
|
||
- [API文档](api.md) - 完整的API接口文档
|
||
- [数据库设计](database-design.md) - 数据库表结构详细设计
|
||
|
||
### 13.2 产品文档
|
||
- [产品设计文档](产品设计文档.md) - 产品需求文档(PRD)
|
||
|
||
### 13.3 其他文档
|
||
- [UI设计规范](ui-design-spec.md) - 前端UI设计规范
|
||
- [团队协作规范](TEAM-COLLABORATION.md) - 团队协作流程
|
||
- [数据库设计和数据初始化](database-and-data-initialization.md) - 数据初始化方案
|
||
|
||
---
|
||
|
||
**文档维护**: 技术总监、后端程序员
|
||
**文档类型**: 技术架构文档
|
||
**最后更新**: 2026-01-25
|