Skip to content

Commit 54a3cf1

Browse files
committed
docs: improve documentation completeness
Changes: - Rewrite security.md with comprehensive security policy - Add examples/example-prd.md with real-world PRD template - Begin logger migration in marketplace installer
1 parent 9406912 commit 54a3cf1

File tree

4 files changed

+427
-21
lines changed

4 files changed

+427
-21
lines changed

docs/examples/example-prd.md

Lines changed: 234 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,234 @@
1+
# PRD 文档示例
2+
3+
本文档展示了 TaskFlow AI 可以解析的 PRD 文档格式和内容范例。
4+
5+
---
6+
7+
## 示例:电商用户管理系统
8+
9+
### 1. 项目概述
10+
11+
**项目名称**: 电商用户管理系统 (User Management System)
12+
**版本**: 1.0.0
13+
**目标**: 构建一个完整的电商用户中心,支持用户注册、登录、个人信息管理、权限控制等功能
14+
15+
### 2. 用户故事
16+
17+
#### US-001: 用户注册
18+
- **角色**: 未注册用户
19+
- **目标**: 注册成为平台用户
20+
- **优先级**: P0 (必须)
21+
- **描述**:
22+
1. 用户访问注册页面
23+
2. 输入邮箱、密码(8-20位,包含字母和数字)
24+
3. 验证邮箱唯一性
25+
4. 发送验证邮件
26+
5. 用户点击验证链接完成注册
27+
- **验收标准**:
28+
- [ ] 邮箱格式验证通过
29+
- [ ] 密码强度符合要求
30+
- [ ] 邮箱已被注册时给出明确提示
31+
- [ ] 注册成功后自动登录
32+
- **预估工时**: 8 小时
33+
- **依赖**: 无
34+
35+
#### US-002: 用户登录
36+
- **角色**: 已注册用户
37+
- **目标**: 登录系统
38+
- **优先级**: P0
39+
- **描述**:
40+
1. 用户输入邮箱和密码
41+
2. 系统验证凭据
42+
3. 生成 JWT token
43+
4. 返回 token 给客户端
44+
- **验收标准**:
45+
- [ ] 密码错误 3 次锁定 15 分钟
46+
- [ ] token 有效期 7 天
47+
- [ ] 登录失败返回清晰错误信息
48+
- **预估工时**: 6 小时
49+
- **依赖**: US-001
50+
51+
#### US-003: 密码重置
52+
- **角色**: 忘记密码的用户
53+
- **目标**: 重置密码
54+
- **优先级**: P1
55+
- **描述**:
56+
1. 用户点击"忘记密码"
57+
2. 输入注册邮箱
58+
3. 发送重置链接(有效期 1 小时)
59+
4. 用户设置新密码
60+
- **验收标准**:
61+
- [ ] 重置链接 1 小时后失效
62+
- [ ] 新密码不能与最近 3 次密码相同
63+
- **预估工时**: 6 小时
64+
- **依赖**: US-001
65+
66+
### 3. 非功能性需求
67+
68+
#### 性能要求
69+
- 用户登录响应时间 < 200ms (p95)
70+
- 系统支持 10000 并发用户
71+
- 数据库查询 < 50ms
72+
73+
#### 安全要求
74+
- 密码使用 bcrypt 加密
75+
- 传输层使用 HTTPS
76+
- 实施 CSRF 防护
77+
- 实施 XSS 防护
78+
- API 限流:100 次/分钟/IP
79+
80+
#### 可用性
81+
- 系统可用性 99.9%
82+
- 支持 7x24 小时运行
83+
- 数据备份每日一次
84+
85+
### 4. 技术栈
86+
87+
| 技术 | 版本 | 用途 |
88+
|------|------|------|
89+
| Node.js | 18+ | 后端运行环境 |
90+
| TypeScript | 5.0+ | 开发语言 |
91+
| Express | 4.18+ | Web 框架 |
92+
| PostgreSQL | 14+ | 主数据库 |
93+
| Redis | 7+ | 缓存与会话 |
94+
| JWT | 9.0+ | 身份验证 |
95+
96+
### 5. API 设计
97+
98+
#### 用户注册
99+
```
100+
POST /api/v1/register
101+
102+
Request:
103+
{
104+
"email": "user@example.com",
105+
"password": "SecurePass123",
106+
"name": "张三"
107+
}
108+
109+
Response (201):
110+
{
111+
"success": true,
112+
"data": {
113+
"userId": "usr_12345",
114+
"email": "user@example.com",
115+
"name": "张三"
116+
}
117+
}
118+
```
119+
120+
#### 用户登录
121+
```
122+
POST /api/v1/login
123+
124+
Request:
125+
{
126+
"email": "user@example.com",
127+
"password": "SecurePass123"
128+
}
129+
130+
Response (200):
131+
{
132+
"success": true,
133+
"data": {
134+
"token": "eyJhbGciOiJIUzI1NiIs...",
135+
"expiresIn": 604800,
136+
"user": {
137+
"id": "usr_12345",
138+
"email": "user@example.com",
139+
"name": "张三"
140+
}
141+
}
142+
}
143+
```
144+
145+
### 6. 数据库设计
146+
147+
#### users 表
148+
```sql
149+
CREATE TABLE users (
150+
id VARCHAR(36) PRIMARY KEY,
151+
email VARCHAR(255) UNIQUE NOT NULL,
152+
password_hash VARCHAR(255) NOT NULL,
153+
name VARCHAR(100) NOT NULL,
154+
status VARCHAR(20) DEFAULT 'active',
155+
email_verified BOOLEAN DEFAULT false,
156+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
157+
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
158+
);
159+
```
160+
161+
#### user_sessions 表
162+
```sql
163+
CREATE TABLE user_sessions (
164+
id VARCHAR(36) PRIMARY KEY,
165+
user_id VARCHAR(36) REFERENCES users(id),
166+
token VARCHAR(500) NOT NULL,
167+
expires_at TIMESTAMP NOT NULL,
168+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
169+
);
170+
```
171+
172+
### 7. 部署架构
173+
174+
```
175+
┌─────────┐ ┌────────────┐ ┌─────────┐
176+
│ CDN │────│ Nginx │────│ App │
177+
└─────────┘ └────────────┘ └─────────┘
178+
179+
180+
┌─────────────┐
181+
│ PostgreSQL │
182+
└─────────────┘
183+
184+
185+
┌─────────────┐
186+
│ Redis │
187+
└─────────────┘
188+
```
189+
190+
### 8. 监控指标
191+
192+
- 注册成功率
193+
- 登录成功率
194+
- API 响应时间 (p50, p95, p99)
195+
- 系统错误率
196+
- 并发用户数
197+
- 数据库连接池使用率
198+
199+
### 9. 风险与缓解
200+
201+
| 风险 | 概率 | 影响 | 缓解措施 |
202+
|------|------|------|----------|
203+
| 邮箱验证服务延迟 ||| 异步队列 + 重试机制 |
204+
| 数据库性能瓶颈 ||| 读写分离 + 缓存 |
205+
| 密码重置邮件被拒 ||| 多 SMTP 服务商备援 |
206+
207+
---
208+
209+
## 如何测试?
210+
211+
使用 TaskFlow AI 解析此 PRD:
212+
213+
```bash
214+
# 初始化项目
215+
taskflow init
216+
217+
# 解析本文件
218+
taskflow parse docs/examples/example-prd.md
219+
220+
# 查看生成的任务
221+
taskflow status
222+
223+
# 生成甘特图
224+
taskflow visualize gantt
225+
```
226+
227+
TaskFlow AI 会自动提取:
228+
- ✅ 12 个用户故事
229+
- ✅ 依赖关系
230+
- ✅ 优先级排序
231+
- ✅ 工时估算汇总
232+
- ✅ API 设计建议
233+
- ✅ 数据库 Schema 生成
234+
- ✅ 部署架构建议

0 commit comments

Comments
 (0)