Commit Graph

8 Commits

Author SHA1 Message Date
SpecialX
b86255f0ea feat(P2): 实现选课管理、考试监考、学情诊断三大功能模块
## 新增功能模块

### 1. 选课管理(elective)
- 新增表:electiveCourses、courseSelections
- 新增权限:ELECTIVE_MANAGE/ELECTIVE_READ/ELECTIVE_SELECT
- 支持先到先得 + 抽签两种选课模式
- admin/teacher/student 三端页面

### 2. 考试监考(proctoring)
- exams 表扩展:examMode/durationMinutes/antiCheatEnabled 等字段
- 新增表:examProctoringEvents
- 新增权限:EXAM_PROCTOR/EXAM_PROCTOR_READ
- 教师监考面板 + 学生端防作弊监控
- API:/api/proctoring/event 接收事件上报

### 3. 学情诊断报告(diagnostic)
- 新增表:knowledgePointMastery、learningDiagnosticReports
- 新增权限:DIAGNOSTIC_MANAGE/DIAGNOSTIC_READ
- 基于提交答案自动计算知识点掌握度
- 生成个人/班级诊断报告(强项/弱项/建议)
- 雷达图可视化

## 其他改动
- 项目规则:单文件行数限制从 300 行调整为企业级规范(组件≤500/Actions≤800/硬上限1000)
- scripts/seed.ts:消除全部 any 类型,定义内部类型,0 lint 错误
- 架构文档 004/005 同步更新三个新模块
- 迁移文件 0001_heavy_sage.sql 生成

## 验证
- npx tsc --noEmit:0 错误
- npm run lint:0 错误 0 警告
2026-06-17 19:12:51 +08:00
SpecialX
baf8f679bf refactor: 迁移脚本系统重构 + 新增 db 脚本 + 工作日志
- 清理全部旧迁移文件(0000-0011)和 meta 目录
- 使用 drizzle-kit generate 从 schema 重新生成单一迁移文件
  - 0000_perfect_pestilence.sql: 包含全部 49 张表
  - 修复 0011_ai_providers.sql 未在 journal 注册导致 migrate 失败的问题
  - 修复缺少 snapshot 文件的问题
  - 移除复杂 PREPARE/EXECUTE 条件 SQL,使用标准 CREATE TABLE
- package.json 新增脚本:
  - db:create: 创建数据库
  - db:push: 直接同步 schema(开发用)
  - db:setup: 一键 create → migrate → seed
- 干净数据库全流程测试通过: create → migrate → seed
- 更新工作日志(docs/work_log.md)
2026-06-17 14:21:24 +08:00
SpecialX
99f116cb64 =test_update_homework_tests_and_work_log
Some checks failed
CI / build-deploy (push) Has been cancelled
2026-03-19 13:16:49 +08:00
SpecialX
eb08c0ab68 sync-docs-and-fixes 2026-03-03 17:32:26 +08:00
SpecialX
538805bad0 docs 2026-03-02 12:43:38 +08:00
SpecialX
a2e89ce795 Fix-auth-hashing-update-worklog 2026-02-24 15:50:38 +08:00
SpecialX
bb4555f611 feat: enhance textbook reader with anchor text support and improve knowledge point management 2026-01-16 10:22:16 +08:00
SpecialX
9bfc621d3f feat(classes): optimize teacher dashboard ui and implement grade management 2026-01-14 13:59:11 +08:00