4.3 KiB
4.3 KiB
College AI Center — 启动与调试指南
项目结构
- 后端:
/根目录,NestJS + TypeORM(可选 PostgreSQL) - 前端:
web/目录,Next.js + Tailwind CSS - 四个新模块:轮转见习、技能视频、执业医师备考、学术交流
环境准备
复制环境变量模板并按需修改:
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,适合本地快速启动和测试。
安装依赖
后端
npm install
前端
cd web && npm install
启动命令
1. 启动后端(开发模式,带热重载)
npm run start:dev
后端运行在 http://localhost:3000,API 前缀为 /api/*。
2. 启动前端(开发模式)
cd web && npm run dev
前端运行在 http://localhost:4100。
3. 一键同时启动前后端(后台运行)
# 在项目根目录执行
# 1. 启动后端(后台)
nohup npm run start:dev > backend.log 2>&1 &
# 2. 启动前端(后台)
cd web && nohup npm run dev > ../frontend.log 2>&1 &
停止后台进程:
# 查找并停止后端(NestJS)
pkill -f "nest start"
# 查找并停止前端(Next.js)
pkill -f "next dev"
4. 生产构建
# 后端构建
npm run build
# 前端构建
cd web && npm run build
数据库连接(可选)
如需启用 PostgreSQL 持久化:
- 确保本地 PostgreSQL 已启动。
- 在
.env中设置:
DB_ENABLED=true
DB_HOST=localhost
DB_PORT=5432
DB_USERNAME=postgres
DB_PASSWORD=postgres
DB_DATABASE=college_ai_center
DB_SYNCHRONIZE=true
- 重启后端:
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 提交
git add -A
git commit -m "你的提交信息"