面向英语教师的智能备课、教学资料管理、题库建设、学情分析与个性化训练平台。
项目以结构化教学数据为核心,逐步连接"资料 → 知识点 → 题目 → 作答 → 掌握度 → 薄弱点 → 个性化训练"。当前已完成 Milestone 1 的教师工作台,并提供安全的 Codex 文件交换工作流:平台导出受控数据,Codex 生成结构化 Proposal,经过 Schema 和业务校验后进入教师审核,不允许 AI 直接修改正式数据。
- 教师预置账号、Cookie Session 与 teacherId 数据隔离。
- 真实 Dashboard 指标,以及班级、学生、知识点和知识关系管理。
- PostgreSQL + Prisma migration、NestJS OpenAPI 和类型化前端客户端。
- Zod Schema-first 的 Analysis Package、Result、Proposal 和 Import/Export 契约。
- 学生/班级分析导出、结果校验、失败归档和待审核导入 CLI。
- Docker Compose 与 PM2 + Native PostgreSQL + Nginx 两套部署方案。
当前不接入任何按量计费 AI API;资料库、题库、作答、掌握度和推荐属于后续里程碑。
Next.js + React + Tailwind
↓ /api/v1 rewrite
NestJS + Prisma
↓
PostgreSQL
Codex App ↔ JSON files ↔ @tip/import-schema
项目使用 pnpm workspace,不依赖 Turborepo、微服务、Redis 或消息队列。
要求 Node.js 22+、pnpm,以及 PostgreSQL 17。PostgreSQL 可用 Docker,也可使用本机服务;业务代码只读取 DATABASE_URL。
cp .env.example apps/api/.env docker compose up -d pnpm install pnpm db:generate pnpm db:migrate pnpm db:teacher pnpm dev
开发新 migration 时使用 pnpm db:migrate:dev;普通启动只用已提交 migration 的 pnpm db:migrate。
db:teacher 从 .env 读取 TEACHER_EMAIL 和 TEACHER_PASSWORD,仅创建新账号,不覆盖已有密码。
若使用本机 PostgreSQL,跳过 docker compose up -d 并修改 apps/api/.env 中的 DATABASE_URL。生产部署见 docs/deployment-docker.md 和 docs/deployment-native.md。
apps/web Next.js 教师端
apps/api NestJS REST API 与 Prisma
packages/api-client OpenAPI 生成类型与 fetch 客户端
packages/import-schema Codex/未来 AI 的唯一交换契约
data/codex 导出、结果、待审核和失败工作目录
prompts 版本化 Codex Prompt 模板
docs 架构、数据模型、工作流和部署文档
pnpm check
API 集成测试会在本机临时监听一个随机 localhost 端口;受限沙箱中可能需要允许本地端口绑定。当前数据库端到端流程需在 Docker PostgreSQL 可用后执行。
产品与架构说明见 docs/。
pnpm codex:export:student --student-id <uuid> pnpm codex:export:class --class-id <uuid> pnpm codex:validate-result data/codex/results/<taskId>.json pnpm codex:import-result data/codex/results/<taskId>.json
Import 只进入待审核目录,不直接修改业务表。完整说明见 docs/codex-workflow.md。
- Docker:见
docs/deployment-docker.md。 - Ubuntu/Debian 原生部署:见
docs/deployment-native.md。
生产环境只对外开放 Nginx 的 80/443;API 和 PostgreSQL 不直接暴露公网。
- M2:教学资料与 Teaching Card。
- M3:题库与知识点/能力标注。
- M4:作业、作答与错因记录。
- M5:可解释、可重放的学生掌握度。
- M6:确定性候选集 + 可选 Codex rerank 的混合推荐。
- M7:复用现有 Schema 的可替换 AI Provider。
详细验收边界见 docs/development-roadmap.md。