2
0
Просмотр исходного кода

📝 docs(architecture): update architecture documentation

- update PostgreSQL version from 15 to 17 in technical stack summary
- rename middleware files: auth.ts → auth.middleware.ts, validation.ts → permission.middleware.ts
- expand source tree documentation with detailed component structure
- add more detailed client-side structure including admin components and UI library
- enhance server-side structure documentation with specific file examples
- add E2E tests directory to project structure
yourname 2 месяцев назад
Родитель
Сommit
4458e90e9c
2 измененных файлов с 72 добавлено и 49 удалено
  1. 4 4
      docs/architecture.md
  2. 68 45
      docs/architecture/source-tree.md

+ 4 - 4
docs/architecture.md

@@ -32,7 +32,7 @@
 
 ### 当前项目状态
 - **主要用途**: 现代化的全栈Web应用启动模板,专注于开发者体验
-- **技术栈总结**: Node.js 20.18.3 + Hono 4.8.5 + React 19.1.0 + TypeORM 0.3.25 + PostgreSQL 15
+- **技术栈总结**: Node.js 20.18.3 + Hono 4.8.5 + React 19.1.0 + TypeORM 0.3.25 + PostgreSQL 17
 - **架构风格**: 分层架构,前后端分离但统一仓库管理
 - **部署方式**: Docker Compose本地开发,Node.js生产部署
 
@@ -322,8 +322,8 @@ src/server/
 │   ├── logger.ts          # 日志工具
 │   └── __tests__/         # 工具测试
 ├── middleware/            # 中间件层
-│   ├── auth.ts           # 认证中间件
-│   └── validation.ts     # 验证中间件
+│   ├── auth.middleware.ts           # 认证中间件
+│   └── permission.middleware.ts     # 权限中间件
 ├── types/                # 类型定义
 ├── data-source.ts        # 数据库连接配置
 └── index.ts              # 服务器入口
@@ -331,7 +331,7 @@ src/server/
 
 **后端技术栈配置**:
 - **框架**: Hono 4.8.5 + TypeScript
-- **数据库**: PostgreSQL 15 + TypeORM 0.3.25
+- **数据库**: PostgreSQL 17 + TypeORM 0.3.25
 - **验证**: Zod schema验证
 - **认证**: JWT Bearer Token
 - **API文档**: @hono/zod-openapi + Swagger UI

+ 68 - 45
docs/architecture/source-tree.md

@@ -1,53 +1,76 @@
 # 源码树和文件组织
 
-## 现有项目结构
+## 实际项目结构
 ```text
 d8d-starter/
 ├── src/
-│   ├── client/           # React前端代码
-│   │   ├── admin/        # 管理后台界面
-│   │   ├── home/         # 用户主页界面
-│   │   ├── components/   # 共享组件
-│   │   ├── hooks/        # React Hooks
-│   │   └── lib/          # 工具库
-│   ├── server/           # Node.js后端代码
-│   │   ├── api/          # API路由处理
-│   │   │   ├── auth/     # 认证路由
-│   │   │   ├── users/    # 用户管理路由
-│   │   │   └── roles/    # 角色管理路由
-│   │   ├── modules/      # 业务模块
-│   │   ├── middleware/   # 中间件
-│   │   ├── types/        # TypeScript类型
-│   │   └── utils/        # 工具函数
-│   └── share/            # 前后端共享代码
-│       └── types.ts      # TypeScript类型定义
-```
-
-## 新文件组织
-```text
-d8d-starter/
-├── src/
-│   ├── client/           # 现有结构保持不变
-│   ├── server/
-│   │   ├── api/
-│   │   │   ├── users/
-│   │   │   │   ├── __tests__/          # 新增:API测试
-│   │   │   │   ├── [id]/
-│   │   │   │   ├── get.ts
-│   │   │   │   └── index.ts
-│   │   ├── modules/
-│   │   │   ├── users/
-│   │   │   │   ├── __tests__/          # 新增:服务测试
-│   │   │   │   ├── user.entity.ts
-│   │   │   │   ├── user.service.ts
-│   │   │   │   └── role.entity.ts
-│   │   └── utils/
-│   │       ├── __tests__/              # 新增:工具测试
-│   │       ├── generic-crud.service.ts
-│   │       ├── generic-crud.routes.ts
-│   │       └── errorHandler.ts         # 需要增强的错误处理
-│   └── share/            # 现有结构保持不变
-│       └── types.ts      # TypeScript类型定义
+│   ├── client/                 # React前端应用
+│   │   ├── admin/              # 管理后台应用
+│   │   │   ├── components/     # 管理后台专用组件
+│   │   │   │   ├── ProtectedRoute.tsx    # 路由保护组件
+│   │   │   │   ├── ErrorPage.tsx         # 错误页面
+│   │   │   │   └── NotFoundPage.tsx      # 404页面
+│   │   │   ├── hooks/          # 管理后台Hooks
+│   │   │   │   └── AuthProvider.tsx      # 认证状态管理
+│   │   │   ├── layouts/        # 布局组件
+│   │   │   │   └── MainLayout.tsx        # 主布局
+│   │   │   ├── pages/          # 页面组件
+│   │   │   │   ├── Dashboard.tsx         # 仪表板
+│   │   │   │   ├── Login.tsx             # 登录页面
+│   │   │   │   └── Users.tsx             # 用户管理
+│   │   │   ├── routes.tsx      # 路由配置
+│   │   │   └── index.tsx       # 管理后台入口
+│   │   ├── home/               # 用户前台应用
+│   │   ├── components/         # 共享UI组件
+│   │   │   └── ui/            # shadcn/ui组件库(50+组件)
+│   │   │       ├── button.tsx   # 按钮组件
+│   │   │       ├── input.tsx    # 输入框组件
+│   │   │       ├── table.tsx    # 表格组件
+│   │   │       └── ...          # 其他组件
+│   │   ├── hooks/             # 共享Hooks
+│   │   ├── lib/               # 工具库
+│   │   ├── utils/             # 工具函数
+│   │   ├── api.ts             # API客户端配置
+│   │   └── index.tsx          # 前端入口
+│   ├── server/                 # Hono后端应用
+│   │   ├── api/                # API路由
+│   │   │   ├── auth/           # 认证相关路由
+│   │   │   │   ├── login.ts    # 登录路由
+│   │   │   │   ├── logout.ts   # 登出路由
+│   │   │   │   └── register.ts # 注册路由
+│   │   │   ├── users/          # 用户管理路由
+│   │   │   │   ├── index.ts    # 用户列表路由
+│   │   │   │   ├── [id].ts     # 用户详情路由
+│   │   │   │   └── __tests__/  # 路由测试
+│   │   │   ├── roles/          # 角色管理路由
+│   │   │   └── __integration_tests__/  # 集成测试
+│   │   ├── modules/            # 业务模块
+│   │   │   ├── auth/           # 认证业务模块
+│   │   │   │   ├── auth.service.ts # 认证服务
+│   │   │   │   └── __tests__/  # 认证测试
+│   │   │   ├── users/          # 用户业务模块
+│   │   │   │   ├── user.entity.ts  # 用户实体
+│   │   │   │   ├── user.service.ts # 用户服务
+│   │   │   │   └── __tests__/  # 用户测试
+│   │   ├── utils/              # 工具层
+│   │   │   ├── generic-crud.service.ts  # 通用CRUD服务
+│   │   │   ├── generic-crud.routes.ts   # 通用CRUD路由
+│   │   │   ├── errorHandler.ts # 错误处理
+│   │   │   ├── backup.ts       # 数据库备份工具
+│   │   │   ├── restore.ts      # 数据库恢复工具
+│   │   │   ├── logger.ts       # 日志工具
+│   │   │   └── __tests__/      # 工具测试
+│   │   ├── middleware/         # 中间件层
+│   │   │   ├── auth.middleware.ts        # 认证中间件
+│   │   │   └── permission.middleware.ts  # 权限中间件
+│   │   ├── types/             # 类型定义
+│   │   ├── data-source.ts     # 数据库连接配置
+│   │   └── index.ts           # 服务器入口
+│   └── share/                  # 前后端共享代码
+│       └── types.ts           # TypeScript类型定义
+├── tests/
+│   └── e2e/                    # E2E测试 (Playwright)
+└── package.json
 ```
 
 ## 集成指南