添加一页PPT总结:突出目的与意义

This commit is contained in:
freedakgmail
2026-07-24 22:40:29 +08:00
parent 995f4ecfbd
commit 32bf3a2547
11 changed files with 393 additions and 2355 deletions
+183
View File
@@ -0,0 +1,183 @@
# College AI Center — 启动与调试指南
## 项目结构
- **后端**`/` 根目录,NestJS + TypeORM(可选 PostgreSQL
- **前端**`web/` 目录,Next.js + Tailwind CSS
- **四个新模块**:轮转见习、技能视频、执业医师备考、学术交流
---
## 环境准备
复制环境变量模板并按需修改:
```bash
cp .env.example .env
```
### 核心环境变量(`.env`
| 变量 | 说明 | 默认值 |
|------|------|--------|
| `APP_PORT` | 后端服务端口 | `3000` |
| `NODE_ENV` | 运行环境 | `development` |
| `DB_ENABLED` | 是否启用 PostgreSQL 持久化 | `false` |
| `JWT_SECRET` | JWT 签名密钥 | `college-ai-center-dev-secret-change-me` |
| `JWT_EXPIRES_IN_SECONDS` | Token 有效期(秒) | `7200` |
| `DB_HOST` / `DB_PORT` / `DB_USERNAME` / `DB_PASSWORD` / `DB_DATABASE` | PostgreSQL 连接 | 见 `.env.example` |
| `DB_SYNCHRONIZE` | 自动同步数据库结构(仅开发) | `false` |
| `DB_LOGGING` | SQL 日志 | `false` |
> **提示**`DB_ENABLED=false` 时所有模块使用内存实现,无需安装 PostgreSQL,适合本地快速启动和测试。
---
## 安装依赖
### 后端
```bash
npm install
```
### 前端
```bash
cd web && npm install
```
---
## 启动命令
### 1. 启动后端(开发模式,带热重载)
```bash
npm run start:dev
```
后端运行在 `http://localhost:3000`API 前缀为 `/api/*`
### 2. 启动前端(开发模式)
```bash
cd web && npm run dev
```
前端运行在 `http://localhost:4100`
### 3. 一键同时启动前后端(后台运行)
```bash
# 在项目根目录执行
# 1. 启动后端(后台)
nohup npm run start:dev > backend.log 2>&1 &
# 2. 启动前端(后台)
cd web && nohup npm run dev > ../frontend.log 2>&1 &
```
停止后台进程:
```bash
# 查找并停止后端(NestJS
pkill -f "nest start"
# 查找并停止前端(Next.js
pkill -f "next dev"
```
### 4. 生产构建
```bash
# 后端构建
npm run build
# 前端构建
cd web && npm run build
```
---
## 数据库连接(可选)
如需启用 PostgreSQL 持久化:
1. 确保本地 PostgreSQL 已启动。
2.`.env` 中设置:
```env
DB_ENABLED=true
DB_HOST=localhost
DB_PORT=5432
DB_USERNAME=postgres
DB_PASSWORD=postgres
DB_DATABASE=college_ai_center
DB_SYNCHRONIZE=true
```
3. 重启后端:`npm run start:dev`
TypeORM 会在启动时自动建表(`DB_SYNCHRONIZE=true`)。
### 新模块数据库实体
- `exam_records` — 执业医师备考答题记录(`src/modules/exam-prep/entities/exam-record.entity.ts`
---
## 新模块 API 端点
| 模块 | 端点 | 方法 | 说明 |
|------|------|------|------|
| **轮转见习** | `/api/rotation/records` | `GET` | 列出轮转记录 |
| | `/api/rotation/records` | `POST` | 新增轮转记录 |
| **技能视频** | `/api/skill-videos` | `GET` | 搜索技能视频 |
| **执业医师备考** | `/api/exam-prep/questions/generate` | `POST` | 生成试题(支持 `builtin` / `ai` / `auto` 模式) |
| | `/api/exam-prep/questions/:id/answer` | `POST` | 提交答案 |
| | `/api/exam-prep/stats` | `GET` | 获取备考统计 |
| | `/api/exam-prep/history` | `GET` | 查看答题历史 |
| | `/api/exam-prep/history/:recordId` | `DELETE` | 删除单条记录 |
| | `/api/exam-prep/history` | `DELETE` | 清空全部记录 |
| **学术交流** | `/api/academic/records` | `GET` | 列出交流记录 |
| | `/api/academic/records` | `POST` | 新增交流记录 |
---
## 学生端前端路由
| 路径 | 模块 |
|------|------|
| `/student/rotation` | 轮转见习 |
| `/student/skill-video` | 技能视频 |
| `/student/exam-prep` | 执业医师备考 |
| `/student/academic` | 学术交流 |
---
## 常见问题
### 1. 后端启动报错 `找不到模块 @nestjs/common`
确保已执行根目录的 `npm install`
### 2. 前端无法连接后端 API
确认后端已启动,且前端 `.env` 中(如有)的 API 地址正确。开发模式下前端通过代理或直连 `localhost:3000`
### 3. 数据库表未自动创建
检查 `.env``DB_ENABLED=true``DB_SYNCHRONIZE=true`,然后重启后端。
### 4. 答题历史未持久化
确认 `DB_ENABLED=true` 并重启后端;否则数据仅保存在进程内存中,重启即丢失。
---
## Git 提交
```bash
git add -A
git commit -m "你的提交信息"
```