feat: 初始化项目结构并添加核心功能模块

- 新增文档模板和导航结构
- 实现服务器基础API路由和控制器
- 添加扩展插件配置和前端框架
- 引入多租户和权限管理模块
- 集成日志和数据库配置
- 添加核心业务模型和类型定义
This commit is contained in:
2026-03-17 22:07:19 +08:00
parent c0870dce50
commit 136c2fa579
728 changed files with 107690 additions and 5614 deletions

View File

@@ -0,0 +1,510 @@
# ChatGPT Export
Conversation: AI友好项目结构设计
URL: https://chatgpt.com/c/69b7c25b-5b50-8330-b35f-136a8b74ad57
Exported: 2026-03-16T08:47:55.941Z
## User
创建更多AI友好的项目文件 帮助 AI 理解模块间的依赖边界,避免循环依赖和架构混乱 帮助 AI 快速定位各模块职责,理解代码组织方式
## Assistant
明白,你想要的是一种**AI友好的项目文件结构和说明体系**,让 AI 能够快速理解模块之间的依赖、职责边界,以及整体架构,避免循环依赖和混乱。下面我整理了一套方案,包括文件设计、说明方式和辅助工具。
---
## 1. 项目总体设计原则
1.
**模块化**
-
每个模块Module单一职责明确功能边界。
-
尽量避免跨模块调用深层内部函数,只通过接口或导出函数进行通信。
2.
**层级清晰**
-
分层原则Layered Architecture
-
`core` 核心逻辑
-
`service` 服务/业务逻辑
-
`controller` 控制层/路由层
-
`ui` 界面或前端组件
-
AI 能通过路径快速推断模块职责。
3.
**依赖方向一致**
-
只允许高层模块依赖低层模块,禁止低层模块依赖高层模块。
-
可用 `PROJECT_MAP.md` 来可视化依赖关系,帮助 AI 理解边界。
4.
**明确接口Interface**
-
每个模块导出统一接口,并在模块目录下放置 `README.md``module_info.md` 描述:
-
功能
-
输入/输出
-
调用约束
---
## 2. 文件/目录结构示例
```
project-root/│├─ core/ # 核心模块,最低依赖层│ ├─ utils/ # 公共工具函数│ │ ├─ string_utils.js│ │ └─ array_utils.js│ └─ constants.js│├─ service/ # 业务逻辑层│ ├─ userService/│ │ ├─ index.js│ │ └─ module_info.md│ └─ orderService/│ ├─ index.js│ └─ module_info.md│├─ controller/ # 控制层│ ├─ userController.js│ └─ orderController.js│├─ ui/ # 前端组件层│ ├─ components/│ └─ pages/│├─ docs/ # 项目文档│ ├─ PROJECT_MAP.md # 模块依赖可视化│ ├─ PROJECT_RULES.md # 编码和依赖规范│ └─ ARCHITECTURE.md # 架构说明│└─ package.json
```
---
## 3. AI友好文件内容示例
### 3.1 `module_info.md`(每个模块单独维护)
```
Markdown# UserService 模块## 功能- 用户信息管理- 登录/注册逻辑- 用户权限验证## 接口- `createUser(data: UserData): Promise<User>`- `getUserById(id: string): Promise<User>`- `validateUserCredentials(username: string, password: string): Promise<boolean>`## 依赖- core/utils- core/constants## 被调用方- controller/userController
```
> AI 可以直接扫描 `module_info.md` 来理解模块职责和依赖关系。
---
### 3.2 `PROJECT_MAP.md`(全局依赖地图)
```
Markdown# 项目模块依赖关系- core/utils -> 无依赖- core/constants -> 无依赖- service/userService -> core/utils, core/constants- service/orderService -> core/utils, core/constants, service/userService- controller/userController -> service/userService- controller/orderController -> service/orderService
```
> AI 能快速定位循环依赖风险和依赖链。
---
### 3.3 `PROJECT_RULES.md`AI友好开发规范
```
Markdown# 项目开发规则1. 模块必须单一职责。2. 高层模块可以依赖低层模块禁止反向依赖。3. 每个模块必须提供 `module_info.md` 描述功能、接口、依赖。4. 公共工具函数放在 core/utils。5. 所有依赖必须通过 import/export 明确,不允许动态 require。6. 项目新增模块必须更新 PROJECT_MAP.md。
```
---
## 4. 辅助工具(可选)
1.
**自动生成依赖图**
-
使用工具扫描 import/export生成模块关系图AI 可以快速理解:
-
JS/TS: `madge``dependency-cruiser`
-
Python: `pydeps`
2.
**自动检查循环依赖**
-
集成到 CI/CD保证新增模块不破坏依赖层次。
3.
**结构化文档**
-
使用 YAML 或 JSON 描述模块接口可选AI 可以直接解析:
```
YAMLmodule: userServicefunctions: - name: createUser params: - name: data type: UserData returns: Userdependencies: - core/utils
```
---
如果你愿意,我可以帮你生成一个**完整的 AI 友好项目模板仓库**,包含:
-
所有目录和示例模块
-
每个模块 `module_info.md`
-
`PROJECT_MAP.md``PROJECT_RULES.md`
-
自动生成依赖图的配置
这样你直接 clone 就能用。
你希望我帮你生成这个模板吗?
## User
还有更多的吗
## Assistant
当然可以做得更系统、更“AI友好”让 AI 不只是理解模块关系,还能**快速定位逻辑、推导依赖、辅助重构**。我把思路拆成几类扩展方案:
---
## 1⃣ 模块级增强
除了 `module_info.md`,每个模块可以加:
1.
**接口定义文件**Interface 文件)
-
明确函数、类、返回类型和异常
-
JS/TS 可用 `.d.ts``interface.json`
-
AI可以直接解析这些接口文件来理解模块“输入输出”
2.
**职责标签**tags.json
```
JSON{ "module": "userService", "tags": ["user-management","authentication","validation"]}
```
-
AI可通过标签快速搜索相关模块
3.
**使用示例**examples/
-
每个模块放一个最小使用示例,说明如何调用
-
AI可以直接学习调用模式
---
## 2⃣ 项目级增强
1.
**模块依赖拓扑图**
-
使用 Mermaid 或 Graphviz 生成可视化依赖图
```
Mermaid
```
-
AI直接读 Markdown 文件,就能理解模块关系
2.
**功能地图Feature Map**
-
按功能点拆分模块
```
Markdown# Feature Map- Authentication: userService, authService- Orders: orderService, orderController- Reporting: reportService
```
-
AI快速定位功能模块
3.
**公共约束文件**
-
约束依赖方向、命名规范、文件大小、单模块行数等
-
AI可用这些规则自动检查或推理架构异常
---
## 3⃣ 数据流与调用链
1.
**输入输出文档IO Map**
-
描述模块输入输出类型和来源去向
```
YAMLmodule: orderServiceinputs: - source: userController.createOrder type: OrderDataoutputs: - destination: orderController.sendOrderConfirmation type: Confirmation
```
-
AI可以快速分析数据流定位潜在循环依赖
2.
**调用链示例Call Map**
-
用 JSON 或 Mermaid 展示典型业务调用流程
```
Mermaid
```
-
AI快速理解执行路径
---
## 4⃣ AI友好标注
-
**函数/类级别注释**
-
明确输入类型、返回类型、异常、依赖
-
**模块级 summary 注释**
-
摘要模块目的、边界和关键依赖
-
**版本或变更日志**
-
`CHANGELOG.md` 描述模块演变AI可追溯历史依赖问题
---
## 5⃣ 可选高级做法
1.
**结构化模块文档**
-
用 JSON/YAML 统一描述模块信息
-
AI可以直接解析不用自然语言理解
```
YAMLmodule: userServicelayer: servicedependencies: [core/utils, core/constants]interfaces: - name: createUser params: [UserData] returns: User
```
2.
**自动生成文档工具**
-
`docgen.js` 或 Python 脚本扫描项目,生成:
-
模块 info
-
项目依赖图
-
数据流图
-
AI能直接读取生成的“标准化结构”理解项目逻辑
---
💡 总结:
目前你的基础是 `module_info.md` \+ `PROJECT_MAP.md` \+ `PROJECT_RULES.md`,可进一步升级为:
-
模块标签、接口文件、示例
-
功能地图、拓扑图、数据流图
-
结构化文档JSON/YAML\+ 自动生成工具
这样 AI 能做到**完全理解模块边界、职责、依赖方向、调用链**,还能快速定位问题或辅助重构。
---
如果你愿意,我可以帮你画一张**AI友好项目文档体系全图**,把这些文件、文档和图标关系全部整合成一张架构图,让整个项目对 AI 一目了然。
你希望我画吗?
## User
可以
## Assistant
好,我给你设计一张**AI友好项目文档体系全图**,把所有文件、模块、文档和关系整合在一起,清晰显示 AI 如何理解模块、依赖、数据流和职责边界。
---
## AI友好项目文档体系全图概念示意
```
Mermaid
```
---
### 🌟 说明
1.
**核心模块 \(`core/`\)**
-
公共工具和常量
-
最底层依赖,不依赖其他模块
2.
**业务逻辑模块 \(`service/`\)**
-
每个模块有 `module_info.md`、IO Map
-
可视化调用链 \(`Call Map`\) 辅助理解
3.
**控制层 \(`controller/`\)**
-
依赖业务模块
-
AI可通过调用链快速理解流程
4.
**前端/UI \(`ui/`\)**
-
仅依赖核心和服务模块
-
文档中标注依赖和接口
5.
**项目文档 \(`docs/`\)**
-
`PROJECT_RULES.md` 规范
-
`PROJECT_MAP.md` 依赖关系
-
`ARCHITECTURE.md` 架构说明
-
AI可直接解析规则、地图和架构说明
6.
**高级 AI 文档**
-
IO Map输入输出数据
-
功能地图Feature Map
-
调用链Call Map / Mermaid
-
标签、示例代码、接口定义文件
---
这个全图能帮助 AI 实现:
-
快速理解模块职责与依赖
-
避免循环依赖
-
理解数据流和调用链
-
支持快速定位重构点
---
我可以帮你把这个概念图**升级成一个可直接 clone 的 AI友好项目模板**,里面包括所有模块、文档示例和 Mermaid 自动生成依赖图。
你希望我帮你做这个吗?
## User
可以
## Assistant
好,我帮你设计一个**完整的 AI 友好项目模板仓库**,结构清晰、文档齐全、可直接 clone 使用,并且支持 AI 快速理解模块依赖、职责和数据流。下面是设计方案和示例内容:
---
## 1⃣ 项目结构(模板版)
```
ai_friendly_project/│├─ core/ # 核心模块│ ├─ utils/ # 公共工具函数│ │ ├─ string_utils.js│ │ └─ array_utils.js│ └─ constants.js│├─ service/ # 业务逻辑模块│ ├─ userService/│ │ ├─ index.js│ │ ├─ module_info.md│ │ └─ io_map.yaml│ └─ orderService/│ ├─ index.js│ ├─ module_info.md│ └─ io_map.yaml│├─ controller/ # 控制层│ ├─ userController.js│ └─ orderController.js│├─ ui/ # 前端组件层│ ├─ components/│ └─ pages/│├─ docs/ # 项目文档│ ├─ PROJECT_RULES.md # 开发与依赖规范│ ├─ PROJECT_MAP.md # 模块依赖地图│ ├─ ARCHITECTURE.md # 架构说明│ ├─ FEATURE_MAP.md # 功能地图│ └─ CALL_MAP.md # 业务调用链│├─ examples/ # 模块示例代码│ ├─ userService_example.js│ └─ orderService_example.js│├─ package.json└─ README.md
```
---
## 2⃣ 核心模块示例
### `core/utils/string_utils.js`
```
JavaScriptexport function capitalize(str) { return str.charAt(0).toUpperCase() + str.slice(1);}
```
### `core/constants.js`
```
JavaScriptexport const STATUS = { ACTIVE: 'active', INACTIVE: 'inactive'};
```
---
## 3⃣ 模块文档示例
### `service/userService/module_info.md`
```
Markdown# UserService 模块## 功能- 用户信息管理- 登录/注册逻辑- 用户权限验证## 接口- createUser(data: UserData): Promise<User>- getUserById(id: string): Promise<User>- validateUserCredentials(username: string, password: string): Promise<boolean>## 依赖- core/utils- core/constants## 被调用方- controller/userController
```
### `service/userService/io_map.yaml`
```
YAMLmodule: userServiceinputs: - source: userController.createUser type: UserDataoutputs: - destination: userController.sendUserCreatedResponse type: User
```
---
## 4⃣ 项目文档示例
### `docs/PROJECT_MAP.md`
```
Markdown# 项目模块依赖关系- core/utils -> 无依赖- core/constants -> 无依赖- service/userService -> core/utils, core/constants- service/orderService -> core/utils, core/constants, service/userService- controller/userController -> service/userService- controller/orderController -> service/orderService
```
### `docs/PROJECT_RULES.md`
```
Markdown# 项目开发规则1. 模块必须单一职责。2. 高层模块可以依赖低层模块禁止反向依赖。3. 每个模块必须提供 module_info.md 和 io_map.yaml。4. 公共工具函数放在 core/utils。5. 所有依赖必须通过 import/export 明确。6. 项目新增模块必须更新 PROJECT_MAP.md 和 FEATURE_MAP.md。
```
### `docs/FEATURE_MAP.md`
```
Markdown# 功能地图- Authentication: userService, authService- Orders: orderService, orderController- Reporting: reportService
```
### `docs/CALL_MAP.md`Mermaid 业务调用链)
```
Mermaid
```
---
## 5⃣ AI友好特性
1.
**模块边界清晰**:每个模块都有 `module_info.md` \+ `io_map.yaml`
2.
**依赖透明化**PROJECT\_MAP.md 和 FEATURE\_MAP.md 让 AI 快速理解依赖和功能分类。
3.
**调用链可视化**CALL\_MAP.md 让 AI理解业务流程。
4.
**标准化接口**:所有函数和模块都有明确输入输出类型。
5.
**示例代码**examples/ 提供最小调用示例,方便 AI理解使用方式。
---
如果你愿意,我可以进一步帮你生成**完整模板文件夹和示例代码**,直接可用的项目结构,甚至包括 **Mermaid 自动生成依赖图脚本**,让 AI 一打开就能理解整个项目。
你希望我直接生成这个完整模板吗?