Files
CollegeAIcenter/run.md
T
2026-07-24 22:40:29 +08:00

4.3 KiB
Raw Blame History

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:3000API 前缀为 /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 持久化:

  1. 确保本地 PostgreSQL 已启动。
  2. .env 中设置:
DB_ENABLED=true
DB_HOST=localhost
DB_PORT=5432
DB_USERNAME=postgres
DB_PASSWORD=postgres
DB_DATABASE=college_ai_center
DB_SYNCHRONIZE=true
  1. 重启后端: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. 数据库表未自动创建

检查 .envDB_ENABLED=trueDB_SYNCHRONIZE=true,然后重启后端。

4. 答题历史未持久化

确认 DB_ENABLED=true 并重启后端;否则数据仅保存在进程内存中,重启即丢失。


Git 提交

git add -A
git commit -m "你的提交信息"