feat: add four new student modules (rotation, skill-video, exam-prep, academic) with backend APIs and frontend pages; add exam-prep question history with DB persistence

This commit is contained in:
freedakgmail
2026-06-04 11:50:25 +08:00
commit 995f4ecfbd
399 changed files with 73529 additions and 0 deletions
+37
View File
@@ -0,0 +1,37 @@
# 医科高校 AI 学习中心 — Web 前端(新版)
参考 `GovAi/apps/web` 的现代化技术栈重建的前端,与原 `frontend/` 并存(原前端保留不动)。
## 技术栈
- **Next.js 15** App Router + **React 19**
- **Tailwind CSS v4**oklch 主题变量,医学青蓝配色,支持暗色模式)
- **shadcn 风格 UI 组件**(自实现,零额外 Radix 依赖)
- **Zustand** 管理认证状态(替代旧版 React Context
- **TanStack Query** 处理数据请求与缓存
- **sonner** 全局 Toast**lucide-react** 图标
## 与后端的契约
完全沿用原前端的后端契约,无需改动 NestJS:
- 所有请求走 `/api/*`,由 `next.config.mjs``rewrites` 代理到 `BACKEND_URL`(默认 `http://localhost:3000`)。
- 令牌存于 `localStorage`(键 `cac.token`),自动附加 `Authorization: Bearer <token>`
- 错误解析后端统一错误体(`AppError.toJSON()`)。
## 功能模块
- **登录 / 注册**:支持三角色注册与内置测试账户一键登录。
- **学生端**:学习空间、能力画像、职业规划、课程对练、临床对话对练、研究资料查询、AI 协同训练。
- **导师端**:题目审核、成果点评、带教学生画像。
- **管理端**:技能治理、权限与合规。
## 开发
```bash
cp .env.example .env.local # 按需修改 BACKEND_URL
npm install
npm run dev # 默认 http://localhost:4100
```
> 注:原前端 `frontend/` 默认运行于 `:4000`,本前端使用 `:4100`,可同时运行对比。