jvibe 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,83 @@
1
+ # PROJECT-DOCS 说明
2
+
3
+ > 本目录存放**项目特定**的技术文档,与 `core/` 目录中的固定核心文档不同。
4
+
5
+ ---
6
+
7
+ ## CORE-DOCS vs PROJECT-DOCS
8
+
9
+ | 维度 | CORE-DOCS(core/) | PROJECT-DOCS(project/) |
10
+ |------|-------------------|------------------------|
11
+ | **结构** | 所有项目中**结构相同** | 根据项目类型**按需创建** |
12
+ | **数量** | **固定 4 个** | **可变**(0~N个) |
13
+ | **文档** | 规范文档、项目文档、功能清单、附加材料 | API文档、数据库文档、部署文档等 |
14
+ | **注册机制** | 固定存在,无需注册 | **必须**在规范文档中注册 |
15
+
16
+ ---
17
+
18
+ ## 如何创建 PROJECT-DOCS?
19
+
20
+ ### 1. 确定需要的文档类型
21
+
22
+ **后端项目**:
23
+ - [ ] API文档(REST/GraphQL端点)
24
+ - [ ] 数据库Schema文档
25
+ - [ ] 部署文档
26
+
27
+ **前端项目**:
28
+ - [ ] 组件文档(Storybook等)
29
+ - [ ] 路由文档
30
+ - [ ] 状态管理文档
31
+
32
+ **全栈项目**:
33
+ - [ ] 以上按需选择
34
+
35
+ **其他**:
36
+ - [ ] 第三方集成文档
37
+ - [ ] 性能优化文档
38
+ - [ ] 安全审计文档
39
+
40
+ ### 2. 创建文档并注册
41
+
42
+ 1. 在 `docs/project/` 创建文档(例如 `api.md`)
43
+ 2. **必须**在 `docs/core/规范文档.md` 的 **"Project文档注册表"** 中添加记录:
44
+
45
+ ```markdown
46
+ ## 2.2.1 Project文档注册表
47
+
48
+ | 文档ID | 文档名称 | 位置 | 用途 | 维护者 | 状态 |
49
+ |--------|----------|------|------|--------|------|
50
+ | P-001 | API文档 | `docs/project/api.md` | REST API端点 | 后端 | active |
51
+ | P-002 | 数据库Schema | `docs/project/database.md` | 表结构和ER图 | 后端 | active |
52
+ ```
53
+
54
+ ### 3. 文档结构要求
55
+
56
+ 每个 PROJECT-DOCS 必须在开头说明:
57
+ - **是什么**:文档的用途
58
+ - **怎么用**:如何查阅和使用
59
+ - **更新时机**:何时需要更新此文档
60
+
61
+ ---
62
+
63
+ ## 参考示例
64
+
65
+ 本目录提供了示例文档供参考:
66
+
67
+ | 示例文件 | 说明 |
68
+ |----------|------|
69
+ | `api.md.example` | API文档示例 |
70
+ | `database.md.example` | 数据库文档示例 |
71
+
72
+ 使用时:
73
+ 1. 复制示例文件并重命名(去掉 `.example` 后缀)
74
+ 2. 根据项目实际情况填充内容
75
+ 3. 在规范文档中注册
76
+
77
+ ---
78
+
79
+ ## 注意事项
80
+
81
+ ⚠️ **所有 PROJECT-DOCS 必须在规范文档中注册**,否则视为无效文档。
82
+
83
+ ⚠️ **不要修改 `core/` 目录中的文档结构**,只修改内容。
@@ -0,0 +1,145 @@
1
+ # API 文档
2
+
3
+ > **文档ID**: P-001
4
+ > **维护者**: 后端团队
5
+ > **最后更新**: YYYY-MM-DD
6
+
7
+ ---
8
+
9
+ ## 📌 文档说明
10
+
11
+ **是什么**:记录项目所有 REST API 端点的详细信息。
12
+
13
+ **怎么用**:
14
+ - 开发前端时:查询可用接口
15
+ - 联调测试时:确认请求/响应格式
16
+ - 编写测试时:参考示例数据
17
+
18
+ **更新时机**:
19
+ - 新增 API 端点时
20
+ - 修改请求/响应格式时
21
+ - 变更认证方式时
22
+
23
+ ---
24
+
25
+ ## 1. 概述
26
+
27
+ ### 1.1 基础信息
28
+
29
+ | 项目 | 值 |
30
+ |------|-----|
31
+ | Base URL | `https://api.example.com/v1` |
32
+ | 认证方式 | Bearer Token (JWT) |
33
+ | 响应格式 | JSON |
34
+ | API 版本 | v1 |
35
+
36
+ ### 1.2 通用响应格式
37
+
38
+ ```json
39
+ {
40
+ "code": 200,
41
+ "message": "success",
42
+ "data": {}
43
+ }
44
+ ```
45
+
46
+ ### 1.3 错误码说明
47
+
48
+ | HTTP 状态码 | 业务码 | 说明 |
49
+ |-------------|--------|------|
50
+ | 200 | 0 | 成功 |
51
+ | 400 | 1001 | 参数错误 |
52
+ | 401 | 1002 | 未认证 |
53
+ | 403 | 1003 | 无权限 |
54
+ | 404 | 1004 | 资源不存在 |
55
+ | 500 | 1005 | 服务器错误 |
56
+
57
+ ---
58
+
59
+ ## 2. 认证模块 (Auth)
60
+
61
+ ### 2.1 用户注册
62
+
63
+ **POST** `/auth/register`
64
+
65
+ **请求体**:
66
+ ```json
67
+ {
68
+ "email": "user@example.com",
69
+ "password": "SecurePass123!",
70
+ "displayName": "John Doe"
71
+ }
72
+ ```
73
+
74
+ **响应**:
75
+ ```json
76
+ {
77
+ "code": 200,
78
+ "message": "注册成功",
79
+ "data": {
80
+ "userId": "uuid-xxx",
81
+ "email": "user@example.com"
82
+ }
83
+ }
84
+ ```
85
+
86
+ ### 2.2 用户登录
87
+
88
+ **POST** `/auth/login`
89
+
90
+ **请求体**:
91
+ ```json
92
+ {
93
+ "email": "user@example.com",
94
+ "password": "SecurePass123!"
95
+ }
96
+ ```
97
+
98
+ **响应**:
99
+ ```json
100
+ {
101
+ "code": 200,
102
+ "message": "登录成功",
103
+ "data": {
104
+ "accessToken": "eyJhbGciOiJIUzI1NiIs...",
105
+ "refreshToken": "eyJhbGciOiJIUzI1NiIs...",
106
+ "expiresIn": 900
107
+ }
108
+ }
109
+ ```
110
+
111
+ ---
112
+
113
+ ## 3. 用户模块 (User)
114
+
115
+ ### 3.1 获取用户信息
116
+
117
+ **GET** `/users/:id`
118
+
119
+ **请求头**:
120
+ ```
121
+ Authorization: Bearer <accessToken>
122
+ ```
123
+
124
+ **响应**:
125
+ ```json
126
+ {
127
+ "code": 200,
128
+ "message": "success",
129
+ "data": {
130
+ "id": "uuid-xxx",
131
+ "email": "user@example.com",
132
+ "displayName": "John Doe",
133
+ "avatarUrl": "https://..."
134
+ }
135
+ }
136
+ ```
137
+
138
+ ---
139
+
140
+ ## 📋 附录
141
+
142
+ ### 相关文档
143
+
144
+ - [规范文档](../core/规范文档.md) - 文档体系入口
145
+ - [附加材料](../core/附加材料.md) - API 设计规范(API-001~003)
@@ -0,0 +1,172 @@
1
+ # 数据库 Schema 文档
2
+
3
+ > **文档ID**: P-002
4
+ > **维护者**: 后端团队
5
+ > **最后更新**: YYYY-MM-DD
6
+
7
+ ---
8
+
9
+ ## 📌 文档说明
10
+
11
+ **是什么**:记录项目数据库表结构、索引策略和 ER 图。
12
+
13
+ **怎么用**:
14
+ - 编写查询时:了解表结构和关联关系
15
+ - 设计新功能时:评估数据模型影响
16
+ - 性能优化时:查看索引设计
17
+
18
+ **更新时机**:
19
+ - 新增数据表时
20
+ - 修改表结构时
21
+ - 添加/修改索引时
22
+
23
+ ---
24
+
25
+ ## 1. 概述
26
+
27
+ ### 1.1 数据库信息
28
+
29
+ | 项目 | 值 |
30
+ |------|-----|
31
+ | 数据库类型 | PostgreSQL |
32
+ | 版本 | 15.5 |
33
+ | ORM | Prisma |
34
+ | 字符集 | UTF-8 |
35
+
36
+ ### 1.2 ER 图
37
+
38
+ ```mermaid
39
+ erDiagram
40
+ users ||--o{ auth_tokens : has
41
+ users ||--|| user_profiles : has
42
+ users ||--o{ room_members : joins
43
+ chat_rooms ||--o{ room_members : contains
44
+ chat_rooms ||--o{ messages : contains
45
+ users ||--o{ messages : sends
46
+
47
+ users {
48
+ uuid id PK
49
+ string email UK
50
+ string password_hash
51
+ timestamp created_at
52
+ }
53
+
54
+ user_profiles {
55
+ uuid id PK
56
+ uuid user_id FK
57
+ string display_name
58
+ string avatar_url
59
+ }
60
+
61
+ chat_rooms {
62
+ uuid id PK
63
+ string name
64
+ string type
65
+ timestamp created_at
66
+ }
67
+
68
+ messages {
69
+ uuid id PK
70
+ uuid room_id FK
71
+ uuid sender_id FK
72
+ text content
73
+ timestamp sent_at
74
+ }
75
+ ```
76
+
77
+ ---
78
+
79
+ ## 2. 表结构详情
80
+
81
+ ### 2.1 users(用户表)
82
+
83
+ | 字段 | 类型 | 约束 | 说明 |
84
+ |------|------|------|------|
85
+ | id | UUID | PK | 主键 |
86
+ | email | VARCHAR(255) | UNIQUE, NOT NULL | 邮箱 |
87
+ | password_hash | VARCHAR(255) | NOT NULL | 密码哈希 |
88
+ | created_at | TIMESTAMP | DEFAULT NOW() | 创建时间 |
89
+ | updated_at | TIMESTAMP | DEFAULT NOW() | 更新时间 |
90
+
91
+ **索引**:
92
+ - `users_email_idx` (email) - 唯一索引
93
+
94
+ ### 2.2 user_profiles(用户资料表)
95
+
96
+ | 字段 | 类型 | 约束 | 说明 |
97
+ |------|------|------|------|
98
+ | id | UUID | PK | 主键 |
99
+ | user_id | UUID | FK, UNIQUE | 关联用户 |
100
+ | display_name | VARCHAR(100) | | 显示名称 |
101
+ | avatar_url | VARCHAR(500) | | 头像URL |
102
+ | bio | TEXT | | 个人简介 |
103
+
104
+ **索引**:
105
+ - `user_profiles_user_id_idx` (user_id) - 唯一索引
106
+
107
+ ### 2.3 chat_rooms(聊天室表)
108
+
109
+ | 字段 | 类型 | 约束 | 说明 |
110
+ |------|------|------|------|
111
+ | id | UUID | PK | 主键 |
112
+ | name | VARCHAR(100) | NOT NULL | 聊天室名称 |
113
+ | type | VARCHAR(20) | NOT NULL | 类型(private/group) |
114
+ | created_at | TIMESTAMP | DEFAULT NOW() | 创建时间 |
115
+
116
+ **索引**:
117
+ - `chat_rooms_name_idx` (name)
118
+
119
+ ### 2.4 messages(消息表)
120
+
121
+ | 字段 | 类型 | 约束 | 说明 |
122
+ |------|------|------|------|
123
+ | id | UUID | PK | 主键 |
124
+ | room_id | UUID | FK, NOT NULL | 聊天室ID |
125
+ | sender_id | UUID | FK, NOT NULL | 发送者ID |
126
+ | content | TEXT | NOT NULL | 消息内容 |
127
+ | sent_at | TIMESTAMP | DEFAULT NOW() | 发送时间 |
128
+
129
+ **索引**:
130
+ - `messages_room_id_idx` (room_id)
131
+ - `messages_sender_id_idx` (sender_id)
132
+ - `messages_sent_at_idx` (sent_at)
133
+
134
+ ---
135
+
136
+ ## 3. 索引策略
137
+
138
+ ### 3.1 索引设计原则
139
+
140
+ 参考 [附加材料 DB-002](../core/附加材料.md):
141
+ - 外键字段必须建索引
142
+ - 查询条件常用字段建索引
143
+ - 避免过度索引
144
+
145
+ ### 3.2 当前索引列表
146
+
147
+ | 表 | 索引名 | 字段 | 类型 |
148
+ |-----|--------|------|------|
149
+ | users | users_email_idx | email | UNIQUE |
150
+ | user_profiles | user_profiles_user_id_idx | user_id | UNIQUE |
151
+ | chat_rooms | chat_rooms_name_idx | name | BTREE |
152
+ | messages | messages_room_id_idx | room_id | BTREE |
153
+ | messages | messages_sender_id_idx | sender_id | BTREE |
154
+ | messages | messages_sent_at_idx | sent_at | BTREE |
155
+
156
+ ---
157
+
158
+ ## 4. 迁移历史
159
+
160
+ | 版本 | 日期 | 说明 |
161
+ |------|------|------|
162
+ | 001 | YYYY-MM-DD | 初始化数据库结构 |
163
+ | 002 | YYYY-MM-DD | 添加 messages 表 |
164
+
165
+ ---
166
+
167
+ ## 📋 附录
168
+
169
+ ### 相关文档
170
+
171
+ - [规范文档](../core/规范文档.md) - 文档体系入口
172
+ - [附加材料](../core/附加材料.md) - 数据库设计规范(DB-001~003)