Week 5 教育应用完善实施计划
📅 时间规划
Week 5 (预计5-7天)
阶段划分:
Phase 1: 数据库模型完善 (1-2天)
Phase 2: 前端界面开发 (2-3天)
Phase 3: LLM内容生成集成 (1-2天)
Phase 4: 测试和优化 (1天)
🎯 Phase 1: 数据库模型完善
现状分析
已有:
✅ Dataclass模型定义 (models.py)
✅ 基础数据结构
✅ 关系定义
缺少:
❌ SQLAlchemy ORM模型
❌ 数据库迁移脚本
❌ 持久化层实现
实施任务
1.1 创建SQLAlchemy模型
目标文件: src/mbe_education/database/models.py
模型列表:
- Student (学生表)
- Course (课程表)
- KnowledgePoint (知识点表)
- LearningRecord (学习记录表)
- ReviewPlan (复习计划表)
- Achievement (成就表)
- StudyGroup (学习小组表)
- Quest (每日任务表)
- AIPersona (AI导师表)
1.2 创建数据库配置
文件:
- database/__init__.py (数据库初始化)
- database/connection.py (连接管理)
- database/migration.py (迁移工具)
功能:
- 异步数据库连接
- 连接池管理
- 自动重连
- 迁移脚本
1.3 创建Repository层
文件:
- repositories/student_repo.py
- repositories/course_repo.py
- repositories/learning_repo.py
功能:
- CRUD操作
- 查询封装
- 事务管理
预计时间: 1-2天
🎨 Phase 2: 前端界面开发
现状分析
已有:
❌ 没有前端代码
需要:
✅ Next.js基础项目
✅ 学生学习界面
✅ 教师管理界面
✅ 数据可视化
技术栈选择
框架: Next.js 14 (App Router)
UI库: Tailwind CSS + shadcn/ui
状态管理: Zustand
数据请求: TanStack Query
图表: Recharts
实时通信: WebSocket
实施任务
2.1 搭建Next.js项目
目录结构:
frontend/
├── app/ # Next.js App Router
│ ├── (student)/ # 学生端
│ ├── (teacher)/ # 教师端
│ └── api/ # API Routes
├── components/ # 组件库
│ ├── ui/ # 基础UI
│ ├── learning/ # 学习相关
│ └── dashboard/ # 仪表板
├── lib/ # 工具库
└── public/ # 静态资源
2.2 核心页面开发
学生端:
✅ 登录/注册页面
✅ 学习仪表板
✅ 课程列表
✅ 学习界面 (核心)
✅ 复习计划
✅ 成就系统
✅ 个人资料
教师端:
✅ 课程管理
✅ 学生监控
✅ 数据分析
✅ 内容编辑器
2.3 核心组件
关键组件:
- LearningInterface: 学习交互界面
- AdaptiveFeedback: 自适应反馈
- ProgressTracker: 进度追踪
- KnowledgeGraph: 知识图谱可视化
- AITutorChat: AI导师对话
- ReviewScheduler: 复习调度器
预计时间: 2-3天
🤖 Phase 3: LLM内容生成集成
现状分析
已有:
✅ 模拟内容生成 (engine.py line 260)
✅ MBE SDK集成准备
需要:
❌ 真实LLM调用
❌ 提示工程优化
❌ 内容质量保证
实施任务
3.1 LLM服务封装
目标文件: src/mbe_education/llm/generator.py
功能:
- generate_explanation: 生成解释
- generate_questions: 生成练习题
- generate_feedback: 生成反馈
- adapt_difficulty: 难度自适应
3.2 提示模板设计
模板类型:
- 详细讲解模板
- 练习题生成模板
- 反馈评价模板
- 鼓励语模板
- 错误纠正模板
3.3 集成到引擎
修改:
- engine.py: _generate_teaching_content
- 添加LLM fallback机制
- 内容缓存优化
- 实时流式生成
预计时间: 1-2天
🧪 Phase 4: 测试和优化
测试清单
单元测试:
- 数据库模型测试
- Repository测试
- 引擎逻辑测试
- LLM生成测试
集成测试:
- API端到端测试
- 前后端集成测试
- WebSocket测试
性能测试:
- 并发用户测试
- 数据库性能
- LLM响应时间
优化项目
性能:
- 数据库查询优化
- 前端渲染优化
- 缓存策略
- 懒加载
用户体验:
- 加载动画
- 错误提示
- 响应式设计
- 无障碍支持
预计时间: 1天
📦 详细任务分解
Task 1: SQLAlchemy模型创建
优先级: P0 (最高)
预计时间: 4-6小时
子任务:
1. 创建database/目录结构
2. 定义Student模型
3. 定义Course和KnowledgePoint模型
4. 定义LearningRecord模型
5. 定义gamification模型
6. 创建关系映射
7. 添加索引和约束
8. 编写迁移脚本
交付物:
- src/mbe_education/database/models.py
- src/mbe_education/database/__init__.py
- migrations/versions/*.py
Task 2: Repository层实现
优先级: P0
预计时间: 3-4小时
子任务:
1. 创建BaseRepository
2. 实现StudentRepository
3. 实现CourseRepository
4. 实现LearningRepository
5. 添加事务支持
6. 错误处理
交付物:
- src/mbe_education/repositories/base.py
- src/mbe_education/repositories/student.py
- src/mbe_education/repositories/course.py
- src/mbe_education/repositories/learning.py
Task 3: Next.js项目搭建
优先级: P1
预计时间: 2-3小时
子任务:
1. 初始化Next.js项目
2. 配置Tailwind CSS
3. 安装shadcn/ui
4. 配置路由结构
5. 创建基础布局
6. 配置环境变量
交付物:
- frontend/package.json
- frontend/tailwind.config.ts
- frontend/app/layout.tsx
- frontend/components/ui/*
Task 4: 学习界面核心组件
优先级: P0
预计时间: 6-8小时
子任务:
1. LearningInterface组件
2. 问题展示区
3. 答案输入区
4. 即时反馈区
5. 进度显示
6. 知识图谱
7. AI导师对话框
8. 响应式适配
交付物:
- frontend/components/learning/LearningInterface.tsx
- frontend/components/learning/QuestionDisplay.tsx
- frontend/components/learning/AnswerInput.tsx
- frontend/components/learning/FeedbackPanel.tsx
Task 5: LLM内容生成
优先级: P1
预计时间: 4-5小时
子任务:
1. 创建LLMGenerator类
2. 设计提示模板
3. 集成MBE LLM API
4. 添加fallback机制
5. 实现流式生成
6. 内容缓存
7. 质量评估
交付物:
- src/mbe_education/llm/generator.py
- src/mbe_education/llm/prompts.py
- src/mbe_education/llm/cache.py
Task 6: API端点完善
优先级: P1
预计时间: 3-4小时
子任务:
1. 学习交互API
2. 学生数据API
3. 课程管理API
4. 复习计划API
5. 成就系统API
6. WebSocket端点
7. 错误处理
8. 文档生成
交付物:
- src/mbe_education/api/learning.py
- src/mbe_education/api/students.py
- src/mbe_education/api/courses.py
- docs/api/README.md
🎨 UI/UX设计要点
学习界面设计
布局:
顶部: 进度条 + 知识点标题
左侧: 问题/内容展示区 (60%)
右侧: AI导师 + 提示 (40%)
底部: 答案输入 + 提交按钮
交互:
- 平滑的过渡动画
- 即时的视觉反馈
- 鼓励性的提示
- 错误的友好说明
颜色方案:
主色: 蓝色 (信任、学习)
成功: 绿色
警告: 黄色
错误: 红色
中性: 灰色
响应式设计
桌面端 (>=1024px):
- 双栏布局
- 侧边栏导航
- 丰富的可视化
平板端 (768-1023px):
- 自适应布局
- 可折叠侧边栏
- 简化图表
移动端 (<768px):
- 单栏布局
- 底部导航
- 核心功能优先
🔧 技术细节
数据库Schema
-- 核心表
students (学生)
courses (课程)
knowledge_points (知识点)
learning_records (学习记录)
review_plans (复习计划)
-- 游戏化
achievements (成就)
quests (任务)
rewards (奖励)
-- 社交
study_groups (学习小组)
peer_challenges (同伴挑战)
-- AI
ai_personas (AI人格)
conversation_history (对话历史)
API设计
RESTful端点:
POST /api/learning/process # 处理学习交互
GET /api/students/{id} # 获取学生信息
GET /api/students/{id}/recommendations # 获取推荐
POST /api/courses # 创建课程
GET /api/courses/{id} # 获取课程详情
POST /api/review-plans # 生成复习计划
WebSocket:
/ws/learning/{student_id} # 实时学习交互
/ws/chat/{student_id} # AI导师聊天
前端State管理
// Zustand Store
interface LearningStore {
currentQuestion: Question | null
studentState: StudentState
isLoading: boolean
feedback: Feedback | null
submitAnswer: (answer: string) => Promise<void>
loadNextQuestion: () => Promise<void>
updateProgress: (progress: number) => void
}
📊 成功标准
Phase 1完成标准
数据库:
✅ 所有表创建成功
✅ 关系正确映射
✅ 迁移脚本运行成功
✅ Repository测试通过
Phase 2完成标准
前端:
✅ 学生端基础界面完成
✅ 学习交互流程打通
✅ 响应式设计实现
✅ 前后端API对接成功
Phase 3完成标准
LLM:
✅ 真实LLM调用成功
✅ 内容质量符合要求
✅ 响应时间<2秒
✅ Fallback机制正常
Phase 4完成标准
测试:
✅ 单元测试覆盖率>80%
✅ 集成测试全部通过
✅ 性能指标达标
✅ 无P0/P1 BUG
🚀 实施建议
第一天: 数据库基础
# 上午
- 创建database目录结构
- 定义核心SQLAlchemy模型
- 配置数据库连接
# 下午
- 实现Repository层
- 编写迁移脚本
- 单元测试
第二天: 前端搭建
# 上午
- 初始化Next.js项目
- 配置UI库和工具
- 创建基础布局
# 下午
- 开发登录/注册页面
- 开发学习仪表板
- API对接准备
第三天: 学习界面核心
# 全天
- LearningInterface组件
- 问题展示和答案输入
- 即时反馈系统
- 前后端集成测试
第四天: LLM集成
# 上午
- LLM Generator实现
- 提示模板设计
- MBE API集成
# 下午
- 内容质量优化
- 缓存机制
- 性能测试
第五天: 完善和测试
# 上午
- 补充次要功能
- UI/UX优化
- 错误处理
# 下午
- 全面测试
- BUG修复
- 文档更新
📝 风险和对策
风险1: LLM API不可用
影响: 无法生成真实内容
对策:
- 保留模拟内容作为fallback
- 实现本地小模型备选
- 提前准备内容模板库
风险2: 前端开发时间不足
影响: 功能不完整
对策:
- 优先核心学习流程
- 使用shadcn/ui加速开发
- 部分功能可后续迭代
风险3: 数据库性能问题
影响: 响应慢
对策:
- 提前设计索引
- 使用连接池
- 实现查询缓存
✅ 检查清单
开始前
- 确认技术栈选择
- 准备开发环境
- 确认MBE API可用性
- 准备测试数据
Phase 1
- SQLAlchemy模型完成
- 数据库迁移成功
- Repository测试通过
- API端点更新
Phase 2
- Next.js项目运行
- 基础UI组件完成
- 学习界面可用
- 前后端联通
Phase 3
- LLM Generator实现
- 提示模板完成
- 内容生成测试
- 性能达标
Phase 4
- 测试覆盖完整
- BUG全部修复
- 文档更新完成
- 演示准备好
准备时间: 2026-02-01
预计开始: 2026-02-02
预计完成: 2026-02-06~08
总预计时间: 5-7天
让我们开始打造最好的开源自适应学习平台!🚀