kindergarten_java/docs/design/11-技术形态与MVP范围.md

410 lines
20 KiB
Markdown
Raw Normal View History

2026-02-28 16:41:39 +08:00
# 技术形态与MVP范围
> 创建时间2025-02-04
> 决策内容:技术选型、第一版功能范围
---
## 一、技术形态决策
### 1.1 总体架构
```
┌─────────────────────────────────────────────────────────────────┐
│ 平台技术架构 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 超管端 │ │ 学校端 │ │ 教师端 │ │
│ │ Web端 │ │ Web端 │ │ Web端 │ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ │ │ │ │
│ └─────────────────┼─────────────────┘ │
│ │ │
│ ┌──────▼──────┐ │
│ │ 后端API服务 │ │
│ └─────────────┘ │
│ │ │
│ ┌──────▼──────┐ │
│ │ 数据库 │ │
│ └─────────────┘ │
│ │
│ ┌──────────┐ │
│ │ 家长端 │ ◀─── 后续版本实现 │
│ │ H5端 │ (响应式设计,支持微信/浏览器访问) │
│ └──────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
```
### 1.2 端形态选择
| 端 | 技术形态 | 说明 | 实现版本 |
|---|---------|------|---------|
| **超管端** | Web端 | PC浏览器访问复杂内容管理操作 | ✅ MVP |
| **学校端** | Web端 | PC浏览器访问数据查看和管理 | ✅ MVP |
| **教师端** | Web端 | PC/平板浏览器访问,支持投屏上课 | ✅ MVP |
| **家长端** | H5响应式 | 手机/平板访问,支持微信内打开 | ⬜ V2 |
### 1.3 技术选型建议
| 层级 | 技术选型 | 说明 |
|-----|---------|------|
| 前端框架 | Vue 3 / React | 现代化SPA框架组件化开发 |
| UI组件库 | Ant Design / Element Plus | 企业级UI组件库 |
| 状态管理 | Pinia / Redux | 复杂状态管理 |
| 后端框架 | Node.js(Nest) / Java(Spring) | API服务 |
| 数据库 | PostgreSQL / MySQL | 关系型数据库 |
| 文件存储 | OSS / S3 | 绘本、音视频等大文件存储 |
| 缓存 | Redis | 热点数据缓存 |
---
## 二、MVP第一版功能范围
### 2.1 MVP目标
**核心目标:验证商业模式和课程包价值**
| 目标 | 说明 |
|-----|------|
| 内容验证 | 课程包制作发布流程是否可行 |
| 用户验证 | 教师是否愿意使用课程包进行教学 |
| 商业验证 | 幼儿园是否愿意为课程包付费 |
| 数据验证 | 是否能收集到有效的使用反馈 |
### 2.2 MVP功能清单
#### 🔴 超管端MVP核心
| 模块 | 功能 | 优先级 | 说明 |
|-----|------|-------|------|
| **基础功能** | 登录/权限 | P0 | 超级管理员登录 |
| **课程包制作** | 基础信息配置 | P0 | 名称、年级、领域标签 |
| | 数字资源上传 | P0 | 电子绘本、音频、视频 |
| | 教学课件上传 | P0 | PPT、动画组件 |
| | 课堂计划编辑 | P0 | 教学脚本配置(重点) |
| | 延伸活动配置 | P1 | 素材和活动指引 |
| | 测评工具配置 | P1 | 记录表模板 |
| | 课程包预览 | P0 | 教师端视角预览 |
| **课程包管理** | 课程包列表 | P0 | 筛选、搜索、状态查看 |
| | 课程包发布 | P0 | 审核流程 |
| | 课程包编辑 | P0 | 草稿编辑 |
| | 课程包下架 | P1 | 已发布课程包管理 |
| **租户管理** | 租户开通 | P0 | 创建幼儿园账号 |
| | 套餐配置 | P0 | 基础/标准/高级套餐 |
| | 课程授权 | P0 | 套餐课程包范围配置 |
| | 教师账号管理 | P1 | 增删改查教师账号 |
| **资源库管理** | 绘本库 | P1 | 绘本资源管理 |
| | 多媒体素材库 | P1 | 音视频素材管理 |
| **数据统计** | 基础数据看板 | P1 | 租户数、课程包数、使用量 |
| **系统配置** | 标签体系配置 | P0 | 预置《3-6岁指南》标签 |
| | 年级班级配置 | P0 | 小/中/大班 |
#### 🔴 学校端MVP核心
| 模块 | 功能 | 优先级 | 说明 |
|-----|------|-------|------|
| **基础功能** | 登录/权限 | P0 | 园长/管理员登录 |
| **首页看板** | 学校数据概览 | P1 | 授课次数、教师活跃度 |
| **教师管理** | 教师列表 | P0 | 查看本校教师 |
| | 教师账号管理 | P0 | 新增/停用教师账号 |
| | 教师数据查看 | P1 | 教师使用情况 |
| **课程管理** | 已授权课程包 | P0 | 查看可用的课程包 |
| | 课程包使用数据 | P1 | 各课程包使用情况 |
| **学生管理** | 学生列表 | P1 | 管理学生信息 |
| | 班级管理 | P1 | 班级配置 |
| **套餐管理** | 当前套餐查看 | P0 | 套餐内容和到期时间 |
| | 套餐续费申请 | P0 | 联系超管续费 |
| **数据报表** | 基础数据报表 | P1 | 授课统计、教师活跃度 |
#### 🔴 教师端MVP核心
| 模块 | 功能 | 优先级 | 说明 |
|-----|------|-------|------|
| **基础功能** | 登录/权限 | P0 | 教师登录 |
| **首页** | 待上课提醒 | P1 | 今日/本周待上课 |
| | 快捷入口 | P1 | 课程中心、我的班级 |
| **课程中心** | 课程包浏览 | P0 | 筛选、搜索课程包 |
| | 课程包详情 | P0 | 查看完整课程包内容 |
| | 课程包收藏 | P1 | 收藏喜欢的课程包 |
| | 待上清单 | P1 | 添加课程到待上清单 |
| **备课模式** | 课程内容预览 | P0 | 预览所有资源 |
| | 素材清单 | P0 | 线上/线下素材列表 |
| | 备课笔记 | P1 | 添加个人笔记 |
| **上课模式** | 课程展示 | P0 | 大屏展示课程内容 |
| | 环节导航 | P0 | 教学环节切换 |
| | 互动组件 | P0 | 调用互动组件 |
| | 上课工具 | P1 | 音频播放、计时器 |
| | 上课笔记 | P1 | 快速记录观察 |
| **反馈记录** | 快速反馈 | P0 | 课后快速记录 |
| | 详细反馈表 | P1 | 完整反馈表单 |
| **班级管理** | 学生列表 | P0 | 管理班级学生 |
| | 班级数据 | P1 | 班级整体数据 |
| **测评记录** | 学生参与记录 | P1 | 记录学生参与情况 |
| | 成长档案查看 | P1 | 查看学生发展情况 |
#### ⬜ 家长端V2版本
| 模块 | 功能 | 优先级 | 说明 |
|-----|------|-------|------|
| **基础功能** | 登录/绑定 | P0 | 微信授权/手机号登录 |
| **孩子档案** | 成长档案查看 | P0 | 查看孩子阅读和发展情况 |
| | 阅读记录 | P0 | 查看阅读过的绘本 |
| | 测评数据 | P0 | 查看各领域发展情况 |
| **亲子共读** | 推荐绘本 | P1 | 根据孩子情况推荐 |
| | 共读指导 | P1 | 亲子共读建议 |
| **家校沟通** | 教师通知 | P0 | 接收园所通知 |
| | 孩子表现 | P1 | 教师反馈的孩子情况 |
### 2.3 MVP功能优先级说明
| 优先级 | 定义 | 第一版处理 |
|-------|------|----------|
| **P0** | 必须实现,否则无法验证核心价值 | ✅ 实现 |
| **P1** | 重要功能,影响用户体验 | ✅ 实现(时间允许) |
| **P2** | 锦上添花的功能 | ⬜ 后续版本 |
---
## 三、MVP第一阶段实施计划
### 3.1 开发顺序
```
┌─────────────────────────────────────────────────────────────────┐
│ MVP开发顺序建议 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Phase 1基础框架 (2周) │
│ ├── 项目架构搭建 │
│ ├── 用户认证系统 │
│ ├── 权限管理系统 │
│ └── 标签体系初始化 │
│ │
│ Phase 2超管端核心 (3-4周) │
│ ├── 课程包制作工作台 │
│ ├── 课程包管理(草稿/发布) │
│ ├── 租户管理 │
│ └── 资源库管理 │
│ │
│ Phase 3教师端核心 (3-4周) │
│ ├── 课程中心(浏览/详情) │
│ ├── 备课模式 │
│ ├── 上课模式 │
│ └── 班级管理 │
│ │
│ Phase 4学校端 (2周) │
│ ├── 教师管理 │
│ ├── 课程包授权查看 │
│ └── 基础数据看板 │
│ │
│ Phase 5反馈与数据 (2周) │
│ ├── 教师反馈收集 │
│ ├── 测评记录 │
│ ├── 基础数据统计 │
│ └── 数据看板 │
│ │
│ 预计总时间12-14周 │
│ │
└─────────────────────────────────────────────────────────────────┘
```
### 3.2 MVP验证指标
| 指标 | 目标 | 说明 |
|-----|------|-----|
| 内容完成度 | ≥10个课程包 | 覆盖小/中/大班,覆盖多领域 |
| 试点学校 | ≥5所幼儿园 | 不同规模、不同地区 |
| 活跃教师 | ≥20人 | 每校至少4人 |
| 使用次数 | ≥100次授课 | 验证课程包可用性 |
| 反馈收集 | ≥50条反馈 | 验证优化方向 |
| 付费意愿 | ≥2所续费意向 | 验证商业模式 |
---
## 四、技术实现要点
### 4.1 教师端上课模式
```
┌─────────────────────────────────────────────────────────────────┐
│ 教师端上课模式技术要求 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ 1. 大屏展示 │
│ • 支持全屏模式 │
│ • 支持投屏到教室大屏 │
│ • 支持平板PC双端 │
│ │
│ 2. 互动组件 │
│ • 电子绘本:支持翻页、放大、标记 │
│ • 音频播放:支持播放/暂停/进度控制 │
│ • 视频播放:支持全屏播放 │
│ • 动画组件:支持嵌入播放 │
│ • 互动练习:支持点击、拖拽等交互 │
│ │
│ 3. 环节导航 │
│ • 左侧/顶部导航栏显示当前环节 │
│ • 支持快速跳转到任意环节 │
│ • 显示当前环节进度 │
│ │
│ 4. 工具栏 │
│ • 暂停/继续 │
│ • 音频控制 │
│ • 课件展示 │
│ • 笔记记录 │
│ • 计时器 │
│ │
└─────────────────────────────────────────────────────────────────┘
```
### 4.2 课程包存储结构
```
课程包
├── 基础信息
│ ├── 课程包ID
│ ├── 名称
│ ├── 年级标签
│ ├── 领域标签
│ └── 教学时长
├── 数字资源
│ ├── 电子绘本 (PDF/HTML)
│ ├── 配套音频 (MP3)
│ └── 配套视频 (MP4)
├── 教学课件
│ ├── PPT课件
│ ├── 动画组件
│ └── 互动组件
├── 课堂计划
│ ├── 环节1导入环节
│ │ ├── 时长
│ │ ├── 目标
│ │ ├── 教师话术脚本
│ │ ├── 关联资源
│ │ └── 互动要点
│ ├── 环节2引导观察
│ ├── 环节3师幼共读
│ │ ├── 逐页配置
│ │ │ ├── 第1页提问、互动组件
│ │ │ ├── 第2页提问、互动组件
│ │ │ └── ...
│ ├── 环节4延伸活动
│ └── 环节5活动结束
├── 延伸活动
│ ├── 活动一
│ │ ├── 名称
│ │ ├── 领域标签
│ │ ├── 活动形式
│ │ ├── 线上素材
│ │ ├── 线下素材说明
│ │ └── 活动指引
│ └── ...
└── 测评工具
├── 观察记录表
├── 参与情况记录表
└── 掌握情况评估表
```
### 4.3 数据流转
```
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 超管端 │ ──▶ │ 数据库 │ ◀── │ 教师端 │
│ (发布课程) │ │ (存储) │ │ (使用课程) │
└─────────────┘ └─────────────┘ └─────────────┘
│ │ │
│ ▼ │
│ ┌─────────────┐ │
│ │ 数据统计 │ │
│ │ (分析) │ │
│ └─────────────┘ │
│ │ │
└───────────────────┼───────────────────┘
┌─────────────┐
│ 数据看板 │
│ (展示) │
└─────────────┘
```
---
## 五、后续版本规划
### 5.1 V2版本功能
| 模块 | 新增功能 |
|-----|---------|
| 家长端 | 完整H5响应式家长端 |
| 教师端 | 离线缓存、AI智能推荐 |
| 超管端 | 课程包AI辅助生成、数据分析增强 |
| 学校端 | 自定义报表、家校互动 |
### 5.3 V3版本功能
| 模块 | 新增功能 |
|-----|---------|
| 全平台 | 多语言支持、个性化推荐 |
| 教师端 | 虚拟教研室、在线协作备课 |
| 家长端 | 亲子共读直播、AI阅读陪伴 |
---
## 六、决策记录
### 6.1 技术形态决策
| 决策项 | 决策结果 | 理由 |
|-------|---------|------|
| 超管端形态 | Web端 | 复杂管理操作PC端体验更好 |
| 学校端形态 | Web端 | 数据查看和管理PC端更方便 |
| 教师端形态 | Web端 | 支持PC/平板,上课投屏更灵活 |
| 家长端形态 | H5响应式 | 移动端访问,支持微信打开 |
### 6.2 MVP范围决策
| 决策项 | 决策结果 | 理由 |
|-------|---------|------|
| 第一版端范围 | 超管+学校+教师端 | 核心B2B2C闭环家长端可后续 |
| 第一版课程包数量 | ≥10个 | 覆盖主要年级和领域,验证内容质量 |
| 第一版试点学校 | ≥5所 | 小范围验证,快速迭代 |
| 第一版付费模式 | 套餐订阅 | 验证付费意愿 |
---
## 七、待确认问题
- [x] ~~前端技术栈选择Vue vs React~~ **已确认Vue 3 + Vite + Ant Design Vue**
- [x] ~~后端技术栈选择Node.js vs Java vs Go~~ **已确认NestJS + Prisma**
- [x] ~~数据库选型?~~ **已确认SQLite开发→ PostgreSQL生产**
- [ ] 是否需要支持离线使用(教师端上课模式)?
- [ ] 课程包是否需要支持导出/导入?
- [ ] 是否需要支持多租户数据完全隔离?
- [ ] 预计开发周期和团队规模?
---
## 八、资源库开发策略2026-02-13 确认)
根据MVP优先级资源库功能绘本库、多媒体素材库、模板库采用三阶段开发策略
| 阶段 | 内容 | 状态 |
|-----|------|------|
| **第一阶段** | 完成课程包核心功能,关联绘本使用文本输入 | ✅ 进行中 |
| **第二阶段** | 开发资源库完整管理功能 | ⬜ 待开发 |
| **第三阶段** | 重构资源选择逻辑,整合课程包与资源库 | ⬜ 待开发 |
详见 `开发进展记录.md` 资源库开发策略部分。
---
## 八、下一步
1. **确定技术栈** - 前端、后端、数据库具体技术选型
2. **设计数据模型** - 核心实体和关系设计
3. **API接口设计** - 主要接口规范
4. **UI/UX设计** - 关键页面原型设计
5. **开发排期** - 详细开发计划和里程碑