docs: 更新项目结构与部署说明(apps/* 布局、monorepo 命令)

This commit is contained in:
2026-08-08 15:06:03 +08:00
parent b73ac5e3e4
commit f03f22c605
2 changed files with 39 additions and 28 deletions
+21 -14
View File
@@ -16,6 +16,11 @@
| 账单导出 | Excel(汇总+明细双Sheet)、单条PDF账单 | | 账单导出 | Excel(汇总+明细双Sheet)、单条PDF账单 |
| 教室管理 | 教室信息维护、教室租赁记录 | | 教室管理 | 教室信息维护、教室租赁记录 |
| 押金管理 | 押金收取与退还 | | 押金管理 | 押金收取与退还 |
| 班级/排课 | 班级档案、分班、教室日程与排课 |
| 考勤管理 | 手工考勤、钉钉考勤同步、自动匹配 |
| 教室租赁 | 租赁订单、合同、租赁日程 |
| AI 助手 | 对话式查询、表单/导入向导/图表、业务待办引导 |
| 组织/校区 | 组织机构与数据范围 |
| 操作日志 | 所有涉及钱的操作自动审计留痕 | | 操作日志 | 所有涉及钱的操作自动审计留痕 |
| 账号管理 | 用户增删改查、角色区分、启用/禁用、重置密码 | | 账号管理 | 用户增删改查、角色区分、启用/禁用、重置密码 |
@@ -42,7 +47,7 @@
### 后端启动 ### 后端启动
```bash ```bash
cd backend cd apps/server
cp .env.example .env # 复制并修改环境配置 cp .env.example .env # 复制并修改环境配置
npm install npm install
npm run start:dev # 开发模式启动,默认端口 3000 npm run start:dev # 开发模式启动,默认端口 3000
@@ -51,46 +56,48 @@ npm run start:dev # 开发模式启动,默认端口 3000
### 前端启动 ### 前端启动
```bash ```bash
cd frontend cd apps/admin
npm install npm install
npm run dev # 开发模式启动,默认端口 5173 npm run dev # 开发模式启动,默认端口 5173
``` ```
### Docker 部署 ### 常用命令
```bash ```bash
docker-compose up -d # 一键启动 MySQL + 后端 + 前端 npm run typecheck # 全仓类型检查
npm run lint # 全仓 lint
npm run test # 全仓测试
npm run build # 全仓构建
``` ```
## 项目结构 ## 项目结构
``` ```
├── backend/ # 后端 NestJS 服务 ├── apps/server/ # 后端 NestJS 服务
│ ├── src/ │ ├── src/
│ │ ├── auth/ # 认证模块 (JWT) │ │ ├── ai-chat/ # AI 对话、表单/导入向导/图表
│ │ ├── attendance/ # 考勤与钉钉同步
│ │ ├── bills/ # 账单模块 │ │ ├── bills/ # 账单模块
│ │ ├── classrooms/ # 教室管理
│ │ ├── dashboard/ # 数据面板 │ │ ├── dashboard/ # 数据面板
│ │ ├── deposits/ # 押金管理
│ │ ├── entities/ # 数据实体 │ │ ├── entities/ # 数据实体
│ │ ├── expenses/ # 费用录入
│ │ ├── occupancies/# 入住管理 │ │ ├── occupancies/# 入住管理
│ │ ├── rbac/ # 角色权限
│ │ ├── rooms/ # 宿舍管理 │ │ ├── rooms/ # 宿舍管理
│ │ ── students/ # 学生管理 │ │ ── students/ # 学生管理
│ │ └── tenants/ # 租户管理
│ └── .env.example # 环境配置模板 │ └── .env.example # 环境配置模板
├── frontend/ # 前端 React 应用 ├── apps/admin/ # 前端 React 应用
│ └── src/ │ └── src/
│ ├── api/ # API 请求封装 │ ├── api/ # API 请求封装
│ ├── components/ # 通用组件
│ ├── layouts/ # 布局组件 │ ├── layouts/ # 布局组件
│ └── pages/ # 页面组件 │ └── pages/ # 页面组件
├── docker-compose.yml # Docker 编排配置 ├── packages/ # 共享配置
└── 技术文档.md # 详细技术文档 └── 技术文档.md # 详细技术文档
``` ```
## 环境配置 ## 环境配置
复制 `backend/.env.example``backend/.env`,按需修改: 复制 `apps/server/.env.example``apps/server/.env`,按需修改:
| 配置项 | 说明 | 默认值 | | 配置项 | 说明 | 默认值 |
|--------|------|--------| |--------|------|--------|
+18 -14
View File
@@ -58,8 +58,8 @@
## 三、项目目录结构 ## 三、项目目录结构
``` ```
宿舍水电费/ gongxue-base/
├── backend/ # 后端(NestJS ├── apps/server/ # 后端(NestJS
│ ├── src/ │ ├── src/
│ │ ├── entities/ # 数据库实体 │ │ ├── entities/ # 数据库实体
│ │ │ ├── student.entity.ts │ │ │ ├── student.entity.ts
@@ -97,7 +97,7 @@
│ ├── package.json │ ├── package.json
│ └── tsconfig.json │ └── tsconfig.json
├── frontend/ # 前端(React + Vite ├── apps/admin/ # 前端(React + Vite
│ ├── src/ │ ├── src/
│ │ ├── api/index.ts # axios 实例(自动携带JWT │ │ ├── api/index.ts # axios 实例(自动携带JWT
│ │ ├── layouts/MainLayout.tsx # 主布局(桌面侧边栏/移动端Drawer) │ │ ├── layouts/MainLayout.tsx # 主布局(桌面侧边栏/移动端Drawer)
@@ -160,6 +160,8 @@
## 六、API 接口列表 ## 六、API 接口列表
> 以下为早期接口清单,完整接口以当前代码路由为准。
### 认证 ### 认证
| 方法 | 路径 | 说明 | | 方法 | 路径 | 说明 |
|------|------|------| |------|------|------|
@@ -195,7 +197,7 @@
## 七、环境变量配置 ## 七、环境变量配置
参见 `backend/.env.example` 参见 `apps/server/.env.example`
| 变量 | 说明 | 默认值 | | 变量 | 说明 | 默认值 |
|------|------|--------| |------|------|--------|
@@ -221,18 +223,18 @@
```bash ```bash
# 1. 上传代码到服务器 # 1. 上传代码到服务器
# 2. 配置后端环境变量 # 2. 配置后端环境变量
cd /www/wwwroot/dorm-billing/backend cd apps/server
cp .env.example .env cp .env.example .env
vi .env # 填入真实的数据库密码、JWT密钥、管理员密码 vi .env # 填入真实的数据库密码、JWT密钥、管理员密码
# 3. 安装依赖 & 构建 # 3. 安装依赖 & 构建
cd backend && npm install && npm run build npm install
cd ../frontend && npm install && npm run build npm run build -w @gongxue/server
npm run build -w @gongxue/admin
# 4. PM2 启动后端 # 4. PM2 启动后端
cd ../backend pm2 startOrReload ecosystem.config.cjs --update-env
pm2 start dist/main.js --name dorm-billing pm2 save
pm2 save && pm2 startup
``` ```
### Nginx 配置 ### Nginx 配置
@@ -267,8 +269,8 @@ server {
| 角色 | 权限 | | 角色 | 权限 |
|------|------| |------|------|
| admin管理员 | 所有功能 + 账号管理 | | 超管 / 系统管理员 | 所有功能 + 账号管理 |
| operator(操作员) | 除账号管理外的所有功能 | | 教务 / 住宿运营 / 教室运营 / 任课老师 | 按权限点控制,以 `rbac` 种子数据为准 |
--- ---
@@ -282,6 +284,8 @@ pm2 logs dorm-billing
pm2 restart dorm-billing pm2 restart dorm-billing
# 更新代码后重新部署 # 更新代码后重新部署
cd backend && npm install && npm run build && pm2 restart dorm-billing npm install
cd ../frontend && npm install && npm run build npm run build -w @gongxue/server
npm run build -w @gongxue/admin
pm2 startOrReload ecosystem.config.cjs --update-env
``` ```