kindergarten_java/docs/design/99-决策记录.md

647 lines
20 KiB
Markdown
Raw Permalink Normal View History

2026-02-28 16:41:39 +08:00
# 决策记录
> 记录每次讨论的结论和决策
---
## 2025-01-29 第一次讨论
### 讨论主题
项目背景、商业模式、角色分析、课程体系、教学场景
### 已确认的结论
#### 1. 项目定位
- 面向幼儿园的B2B2C阅读教学服务平台
- 将优质绘本资源包装成教学课程
- 帮助幼儿园老师更好地完成教学工作
#### 2. 平台架构
- 超管端:管理所有租户、内容、数据
- 租户端:学校端、教师端、家长端
#### 3. 盈利模式
- 按年/学期向幼儿园收费
- 不同课程套餐包(基础/标准/高级)
- 根据课程开展频次和地区需求定制
#### 4. 竞争优势
- 独家版权绘本资源
- 专业教研团队
- 强大的研发能力
#### 5. 角色核心诉求
| 角色 | 核心诉求 |
|-----|---------|
| 超管端 | 租户管理、内容管理、数据统计、运营监控 |
| 学校端 | 教师管理、教学监督、数据报表、套餐管理 |
| 教师端 | 备课、上课、活动开展、测评记录、家校沟通 |
| 家长端 | 了解情况、配合教育、查看成长、亲子共读 |
#### 6. 课程体系
- 课程构成:电子绘本 + 教学教案 + 教学课件 + 互动练习
- 分级:小班、中班、大班
- 标签:五大领域(健康/语言/社会/科学/艺术)+ 子主题
#### 7. 教学场景
- 一日活动:绘本教学 → 五大领域延伸活动
- 延伸活动形式:动手、交流、游戏等,丰富多样
#### 8. 测评功能
- 过程化展示,非简单打分
- 展示:阅读数量、内容覆盖、成长情况、成长轨迹
- 支持角色:教师端记录、家长端查看
### 待继续讨论
- [ ] 教师端一节课的完整流程
- [ ] 五大领域延伸活动的平台支持方式
- [ ] 测评数据的具体来源和记录方式
- [ ] 《3-6岁儿童学习与发展指南》文档
---
## 下次讨论重点
1. 教师端核心流程详解
2. 延伸活动的素材准备和支持方式
3. 测评/成长档案的详细设计
---
## 2025-01-29 第二次讨论(下午)
### 讨论主题
《3-6岁儿童学习与发展指南》解读与应用
### 已确认的结论
#### 1. 指南文档已获取
- 来源教育部《3-6岁儿童学习与发展指南》2012年9月
- 位置:已复制到项目文件夹作为参考资料
#### 2. 五大领域官方结构确认
| 领域 | 子领域数量 | 目标数量 |
|-----|-----------|---------|
| 健康 | 3个 | 9个 |
| 语言 | 2个 | 6个 |
| 社会 | 2个 | 6个 |
| 科学 | 2个 | 6个 |
| 艺术 | 2个 | 4个 |
| **合计** | **11个** | **31个** |
#### 3. 标签体系层级设计
```
一级五大领域5个
└─ 二级子领域11个
└─ 三级发展目标31个
└─ 四级年龄段指标93个
```
#### 4. 测评维度设计方向
- 基于指南的31个目标设计测评维度
- 过程化展示:阅读数量、领域覆盖、能力发展、成长轨迹
- 五大领域可视化呈现(星级或进度条)
#### 5. 项目文档更新
- ✅ 创建《06-指南解读与应用.md》
- ✅ 更新《03-课程体系.md》标签体系部分
- ✅ 复制指南文档到项目文件夹
### 待继续讨论
- [ ] 教师端一节课的完整流程
- [ ] 五大领域延伸活动的平台支持方式
- [ ] 测评数据的具体来源和记录方式
- [ ] 完整的标签体系编码方案
- [ ] 教案模板的标准化设计
---
## 2025-01-29 第三次讨论(下午续)
### 讨论主题
课程包详细设计与教师端功能设计
### 已确认的结论
#### 1. 课程包定位明确
- **核心价值**"傻瓜式"完整教学解决方案
- **覆盖范围**"一日活动"全流程(课前-课中-课后)
- **设计理念**:老师只需熟悉内容,跟着指引执行
#### 2. 课程包内容结构
| 组成部分 | 具体内容 |
|---------|---------|
| 绘本数字资源 | 电子绘本、配套音频、配套视频 |
| 教学课件 | 互动PPT、动画组件、互动组件 |
| 课堂计划 | 导入/引导/共读/活动/结束的完整脚本 |
| 延伸活动 | 线上多媒体素材+线下素材说明+活动指引 |
| 测评工具 | 观察记录表、参与情况记录、掌握情况评估 |
#### 3. 教师权限
| 可做 | 不可做 |
|-----|--------|
| 浏览预览全部内容 | 修改课程包内容 |
| 熟悉课程流程 | 下载课程包内容 |
| 调整执行步骤 | 分享给非授权用户 |
| 记录反馈 | - |
#### 4. 更新迭代机制
- 教研团队制作课程包
- 提供反馈渠道给老师
- 根据反馈优化更新
#### 5. 测评维度
比之前更丰富,包括:
- 一日活动参与情况
- 孩子掌握情况
- 月度成长情况
- 阶段性测试结果
### 项目文档更新
| 文档 | 更新内容 |
|-----|---------|
| `07-课程包设计.md` | ✅ 新建,完整记录课程包设计 |
| `08-教师端功能设计.md` | ✅ 新建,教师端完整功能设计 |
### 待继续讨论
- [ ] 超管端功能设计
- [ ] 学校端功能设计
- [ ] 家长端功能设计
- [ ] 技术形态选择Web/App/小程序)
- [ ] MVP阶段功能优先级
---
---
## 2025-02-04 第四次讨论
### 讨论主题
超管端功能设计、教师端课程包使用流程
### 已确认的结论
#### 1. 超管端核心功能明确
| 模块 | 功能 |
|-----|------|
| 课程包制作工作台 | 6步完整流程基础信息→数字资源→教学课件→课堂计划→延伸活动→测评工具 |
| 课程包管理 | 列表、筛选、状态流转(草稿→审核→发布→下架/迭代) |
| 课程包数据统计 | 使用学校数、教师数、授课次数、教师反馈汇总 |
| 租户管理 | 开通学校、套餐配置、课程授权、账号管理 |
| 资源库管理 | 绘本库、多媒体素材、模板库 |
| 数据统计看板 | 平台整体数据、课程排行、学校排行、反馈汇总 |
| 系统配置 | 标签体系、年级配置、权限角色、参数配置 |
#### 2. 课程包制作流程
```
新建课程包 → 上传数字资源 → 配置教学课件 → 编辑教学脚本(核心)
→ 配置延伸活动 → 配置测评工具 → 预览测试 → 提交审核 → 审核发布 → 发布后监控
```
#### 3. 课程包审核机制
- 审核检查项:内容完整性、教学科学性、素材质量、标签准确性、版权合规
- 审核通过后发布,不通过返回修改
- 支持版本迭代和历史记录
#### 4. 教师端使用流程
```
浏览课程包 → 查看详情 → 备课模式(熟悉内容/准备素材)
→ 上课模式(按脚本执行)→ 结束上课 → 快速记录 → 详细反馈 → 测评记录
```
#### 5. 教师端核心模式
| 模式 | 功能 |
|-----|------|
| 浏览模式 | 筛选、搜索、查看课程包详情 |
| 备课模式 | 左侧导航+右侧预览+备课笔记+素材清单 |
| 上课模式 | 大屏展示+环节导航+互动组件+工具栏(暂停/音频/课件/笔记/计时器) |
| 反馈模式 | 快速记录+详细反馈表+测评记录 |
#### 6. 教师端权限边界
- ✅ 可以:浏览、预览、使用、记录、反馈、添加笔记、管理班级
- ❌ 不能:修改课程包、下载课程包、分享给他人、访问未授权课程
#### 7. 数据闭环
```
超管端发布 → 教师端使用 → 反馈数据回流 → 超管端迭代优化
```
### 项目文档更新
| 文档 | 更新内容 |
|-----|---------|
| `10-超管端功能设计.md` | ✅ 新建,完整超管端功能设计 |
| `08-教师端功能设计-补充.md` | ✅ 新建,详细课程包查看与使用流程 |
### 待继续讨论
- [ ] 课程包是否支持版本历史记录?
- [ ] 课程包下架后,已使用该课程的学校是否仍能查看?
- [ ] 上课模式是否需要支持离线使用?
- [ ] 教师笔记是否支持导出?
- [ ] 待上清单是否支持周期性自动排课?
---
## 后续讨论方向(待继续)
### 按优先级排序
**高优先级(必须完成):**
1. ✅ 超管端功能设计(管理课程包、租户、数据)
2. ✅ 教师端课程包使用流程
3. 技术形态决策Web/App/小程序)
4. MVP阶段功能范围确定
**中优先级(重要):**
5. 学校端功能设计(园长/管理员视角)
6. 数据统计与报表设计
**低优先级(可后续):**
7. 家长端功能设计MVP阶段可不做
8. 详细的原型设计
---
## 2025-02-04 第五次讨论
### 讨论主题
技术形态决策、MVP功能范围
### 已确认的结论
#### 1. 技术形态决策
| 端 | 技术形态 | 说明 | 实现版本 |
|---|---------|------|---------|
| 超管端 | Web端 | PC浏览器访问复杂内容管理操作 | ✅ MVP |
| 学校端 | Web端 | PC浏览器访问数据查看和管理 | ✅ MVP |
| 教师端 | Web端 | PC/平板浏览器访问,支持投屏上课 | ✅ MVP |
| 家长端 | H5响应式 | 手机/平板访问,支持微信内打开 | ⬜ V2 |
#### 2. MVP第一版范围
**目标:验证商业模式和课程包价值**
| 端 | 核心功能 |
|---|---------|
| 超管端 | 课程包制作、课程包管理、租户管理、资源库、基础数据统计 |
| 学校端 | 教师管理、课程授权查看、基础数据看板 |
| 教师端 | 课程中心、备课模式、上课模式、班级管理、反馈记录 |
**不包含:**
- 家长端V2版本实现
- 复杂的数据分析MVP仅基础统计
- AI相关功能后续版本
#### 3. MVP验证指标
- 内容完成度≥10个课程包覆盖小/中/大班)
- 试点学校≥5所幼儿园
- 活跃教师≥20人
- 使用次数≥100次授课
- 反馈收集≥50条反馈
- 付费意愿≥2所续费意向
#### 4. 开发顺序预计12-14周
1. Phase 1基础框架2周- 架构、认证、权限、标签体系
2. Phase 2超管端核心3-4周- 课程包制作、管理、租户
3. Phase 3教师端核心3-4周- 课程中心、备课、上课
4. Phase 4学校端2周- 教师管理、数据看板
5. Phase 5反馈与数据2周- 反馈收集、测评、统计
### 项目文档更新
| 文档 | 更新内容 |
|-----|---------|
| `11-技术形态与MVP范围.md` | ✅ 新建技术选型、MVP功能清单、开发计划 |
### 待继续讨论
- [ ] 前端技术栈选择Vue vs React
- [ ] 后端技术栈选择Node.js vs Java vs Go
- [ ] 是否需要支持离线使用(教师端上课模式)
- [ ] 数据模型设计
- [ ] API接口设计
---
## 后续讨论方向(待继续)
### 按优先级排序
**已完成:**
1. ✅ 超管端功能设计(管理课程包、租户、数据)
2. ✅ 教师端课程包使用流程
3. ✅ 技术形态决策Web端 vs App vs 小程序)
4. ✅ MVP阶段功能范围确定
**下一步:**
5. 学校端功能设计(园长/管理员视角)
6. 数据统计与报表设计
7. 数据模型设计
8. API接口设计
---
## 2025-02-04 第六次讨论
### 讨论主题
学校端功能设计、数据模型与API设计
### 已确认的结论
#### 1. 学校端功能设计完成
| 模块 | 功能 |
|-----|------|
| 首页看板 | 学校数据概览、授课趋势、活跃教师/课程排行、套餐状态 |
| 教师管理 | 教师列表、新增/编辑教师、教师详情、数据查看 |
| 课程管理 | 已授权课程包、课程包使用数据、教师反馈汇总 |
| 学生管理 | 学生列表、班级管理、学生成长档案 |
| 套餐管理 | 套餐详情、使用情况、到期信息、套餐对比 |
| 数据报表 | 授课统计、教师活跃度、课程包排行、班级数据、学生阅读统计 |
| 系统设置 | 学校信息、年级班级配置、通知设置 |
#### 2. 数据模型设计完成
- **15张核心表**:租户、教师、学生、班级、课程包、课程资源、课程脚本、逐页配置、延伸活动、授课记录、课程反馈、学生测评、标签、租户课程授权
- **实体关系**:租户 → 教师 → 班级 → 学生,课程包 → 授课记录
- **数据权限**:超管端(全部数据)→ 学校端(本校数据)→ 教师端(自己班级数据)
#### 3. API接口设计完成
- **接口规范**HTTPS + JSON + JWT认证
- **超管端API**课程包CRUD、资源管理、脚本管理、租户管理
- **学校端API**:教师管理、学生管理、班级管理、数据统计
- **教师端API**:课程包浏览、备课、上课、反馈、测评
- **公共API**:标签体系、年级配置、文件上传
### 项目文档更新
| 文档 | 更新内容 |
|-----|---------|
| `12-学校端功能设计.md` | ✅ 新建,学校端完整功能设计 |
| `13-数据模型与API设计.md` | ✅ 新建15张核心表设计、API接口规范 |
### 待继续讨论
- [ ] 前端技术栈选择Vue vs React
- [ ] 后端技术栈选择Node.js vs Java vs Go
- [ ] 数据库选型确认
- [ ] 开发环境搭建
---
## 后续讨论方向(待继续)
### 按优先级排序
**已完成:**
1. ✅ 超管端功能设计(管理课程包、租户、数据)
2. ✅ 教师端课程包使用流程
3. ✅ 技术形态决策Web端 vs App vs 小程序)
4. ✅ MVP阶段功能范围确定
5. ✅ 学校端功能设计(园长/管理员视角)
6. ✅ 数据模型设计
7. ✅ API接口设计
**下一步(技术选型):**
8. 前端技术栈确认
9. 后端技术栈确认
10. 数据库选型确认
11. 开发环境搭建
**后续版本:**
12. 家长端功能设计V2版本实现
13. 详细的原型设计
14. UI/UX设计
---
## 2025-02-04 第七次讨论
### 讨论主题
项目开发启动 - 技术选型确认与项目初始化
### 已确认的结论
#### 1. 技术栈最终确认
| 层级 | 技术选择 | 版本 |
|-----|---------|------|
| 前端框架 | Vue 3 | ^3.4.0 |
| 构建工具 | Vite | ^5.0.0 |
| UI组件库 | Ant Design Vue | ^4.0.0 |
| 状态管理 | Pinia | ^2.1.0 |
| 后端框架 | NestJS | ^10.0.0 |
| ORM | Prisma | ^5.0.0 |
| 数据库 | PostgreSQL | ^15.0.0 |
| 认证 | JWT + Passport | - |
#### 2. 项目初始化完成
- ✅ 前端项目结构创建Vue3 + Vite + Ant Design Vue
- ✅ 后端项目结构创建NestJS + Prisma
- ✅ 数据库模型定义15张核心表
- ✅ 路由配置(三端路由分离)
- ✅ 认证系统框架
- ✅ API请求封装
#### 3. 已创建的文件
**前端核心文件:**
- package.json - 依赖配置
- vite.config.ts - Vite配置
- src/router/index.ts - 路由配置
- src/stores/user.ts - 用户状态管理
- src/api/index.ts - API封装
- src/api/auth.ts - 认证API
- src/views/auth/LoginView.vue - 登录页
- src/views/admin/LayoutView.vue - 超管端布局
- src/views/admin/DashboardView.vue - 超管端首页
- src/views/admin/courses/CourseListView.vue - 课程包列表
**后端核心文件:**
- package.json - 依赖配置
- prisma/schema.prisma - 数据库模型15张表
- src/main.ts - 应用入口
- src/app.module.ts - 根模块
#### 4. 项目已就绪
| 项目 | 状态 | 目录 |
|-----|------|-----|
| 前端项目 | ✅ 结构已完成 | `/Users/retirado/ccProgram/reading-platform-frontend/` |
| 后端项目 | ✅ 结构已完成 | `/Users/retirado/ccProgram/reading-platform-backend/` |
| 文档 | ✅ 开发指南已创建 | `/Users/retirado/ccProgram/reading-platform/README.md` |
### 项目文档更新
| 文档 | 更新内容 |
|-----|---------|
| `14-技术选型与项目初始化.md` | ✅ 新建,技术栈确认、项目结构、开发计划 |
| `reading-platform/README.md` | ✅ 新建,完整开发指南 |
| 前端项目 | ✅ 多个核心文件已创建 |
| 后端项目 | ✅ 多个核心文件已创建 |
### 下一步开发任务
- [x] 安装项目依赖(前端、后端)
- [x] 启动数据库SQLite开发阶段
- [x] 配置环境变量
- [x] 运行Prisma迁移
- [x] 实现认证系统完整功能
- [x] 实现权限管理(角色守卫)
- [ ] 开发超管端课程包CRUD进行中
- [ ] 开发教师端课程中心
- [ ] 开发学校端基础功能
---
## 2025-02-12 第八次讨论
### 讨论主题
超管端课程包管理模块开发与测试
### 已完成的工作
#### 1. 代码审查与问题修复
| 问题 | 修复内容 |
|-----|---------|
| 认证守卫缺失 | course.controller.ts 添加 JwtAuthGuard 和 RolesGuard |
| 角色守卫未实现 | 创建 roles.decorator.ts 和 roles.guard.ts |
| 冗余文件 | 删除 course 模块下的 .js 文件 |
| 字段清除错误 | course.service.ts 中 fieldsToClear 数组修复 |
| 测试代码残留 | CourseEditView.vue 中移除测试注释 |
#### 2. Bug 修复
| Bug | 修复方案 |
|-----|---------|
| 其他素材不回显 | CourseEditView.vue 中字段名从 `data.otherPaths` 改为 `data.otherResources` |
| 文件大小限制过小 | 从 50MB 更新到 300MB前后端同步修改 |
| 电子绘本不支持 pptx | file-upload.service.ts 中 ebook 类型添加 ppt/pptx MIME 类型支持 |
#### 3. 文件大小限制配置
| 文件类型 | 最大大小 |
|---------|---------|
| 封面图 (COVER) | 10MB |
| 电子书 (EBOOK) | 300MB |
| 音频 (AUDIO) | 300MB |
| 视频 (VIDEO) | 300MB |
| PPT | 300MB |
| 海报 (POSTER) | 10MB |
| 其他 (OTHER) | 300MB |
#### 4. 电子书支持的文件格式
- PDF (`application/pdf`)
- PPT (`application/vnd.ms-powerpoint`)
- PPTX (`application/vnd.openxmlformats-officedocument.presentationml.presentation`)
### 修改的文件
**后端:**
- `src/modules/course/course.controller.ts` - 添加认证守卫
- `src/modules/course/course.service.ts` - 修复字段清除逻辑
- `src/modules/file-upload/file-upload.controller.ts` - 更新文件大小限制
- `src/modules/file-upload/file-upload.service.ts` - 更新文件大小限制、添加 pptx 支持
- `src/modules/common/decorators/roles.decorator.ts` - 新建
- `src/modules/common/guards/roles.guard.ts` - 新建
**前端:**
- `src/views/admin/courses/CourseEditView.vue` - 修复其他素材回显、移除测试代码
- `src/api/file.ts` - 更新文件大小限制
### 当前开发状态
**超管端课程包管理模块:**
- [x] 课程包列表页面
- [x] 课程包创建页面6步表单
- [x] 课程包编辑页面
- [x] 课程包详情页面
- [x] 文件上传功能
- [x] 草稿保存功能
- [x] 数据回显功能
- [ ] 测试完成,待继续开发
### 下一步任务
- [ ] 继续测试课程包创建流程
- [ ] 开发课程包审核功能
- [ ] 开发课程包发布/下架功能
- [ ] 开发教师端课程中心
---
## 2026-02-13 第九次讨论
### 讨论主题
资源库开发策略确认与文档统一更新
### 已确认的结论
#### 1. 资源库开发策略(三阶段)
根据 `11-技术形态与MVP范围.md` 文档MVP阶段P0优先级为课程包制作和管理核心功能资源库P1可在核心功能完成后再开发。
**第一阶段(当前):完成课程包核心功能**
- 课程包创建/编辑 - 直接上传资源到课程包
- 课程包审核/发布流程
- 课程包列表管理
- 关联绘本:使用简单的文本输入框(手动输入绘本名称)
**第二阶段(后续):完善资源库**
- 开发资源库的完整管理功能
- 绘本库:绘本资源管理(名称、作者、适切年级、封面、授权状态)
- 多媒体素材库:音频、视频、图片、互动组件管理
- 模板库:教学脚本模板、记录表模板、评估表模板
- 课程包中已上传的资源可选择性同步到资源库
**第三阶段(整合优化):重构资源选择逻辑**
- 课程包编辑时提供两种选择方式:
1. **从资源库选择** - 引用已有资源
2. **上传新资源** - 同时添加到资源库和课程包
- 关联绘本:改为从绘本库选择 + 支持新增绘本
#### 2. 当前开发状态确认
**已完成**:
- ✅ 项目架构搭建
- ✅ 用户认证系统
- ✅ 权限管理系统
- ✅ 标签体系初始化
- ✅ 课程包制作工作台6步流程
- ✅ 课程包管理(草稿/发布/审核)
- ✅ 课程包审核流程
- ✅ 教师端课程中心
- ✅ 教师端备课模式
- ✅ 教师端上课模式
**进行中**:
- 🔄 租户管理
- 🔄 班级管理
- 🔄 学校端框架
**待开发(第二阶段)**:
- ⬜ 资源库管理
- ⬜ 数据统计看板
#### 3. 文档更新要求
所有文档需要与当前开发情况和目标保持一致,确保后续开发过程中回溯文档寻找依据时查询到的依据都是正确的。
### 项目文档更新
| 文档 | 更新内容 |
|-----|---------|
| `开发进展记录.md` | ✅ 添加资源库开发策略部分 |
| `README.md` | ✅ 更新项目状态、技术栈、开发进度 |
| `99-决策记录.md` | ✅ 添加资源库开发策略决策 |
### 下一步任务
- [ ] 完成课程包编辑功能测试
- [ ] 完成教师端端到端测试
- [ ] 开发资源库管理(第二阶段)
- [ ] 开发数据统计看板