- 重构App.vue中的侧边栏布局,更新Logo设计为带有标识和副标题的新样式 - 调整顶部导航栏,增加标题区域显示当前路由标题和日期 - 修改菜单项配置,更新导航标签为更直观的中文描述 - 在Home.vue中替换原有的仪表板为新的Hero卡片和项目进展展示 - 更新Memory.vue中的学习界面,添加学习计划设置和多阶段学习模式 - 集成新的API端点路径,将baseURL从/api调整为/api/v1 - 调整整体视觉风格,包括颜色主题、字体家族和响应式布局 - 更新数据库模型以支持词库功能,添加相关的数据迁移和种子数据 - 调整认证系统的用户ID类型从整型到字符串的变更 - 更改前端构建工具从npm到pnpm,并更新相应的Dockerfile配置
4.0 KiB
4.0 KiB
Memora 需求文档(重设计版)
1. 项目目标
Memora 是一个以「长期记忆留存」为目标的背单词系统,面向中文学习者,提供:
- 单词学习与复习闭环(学习 → 测试 → 复习)
- 基于遗忘曲线的复习调度
- 数据可视化与学习反馈
- Web 端优先,后续支持移动端复用 API
2. 用户角色
- 普通用户:学习、复习、查看统计,词库管理
- 管理员:日志查看、异常数据处理
3. 核心功能需求
3.1 账户与身份
- 用户注册/登录(邮箱或手机号,后续可扩展 OAuth)
- Token 鉴权(JWT)
- 个人学习偏好(每日目标、提醒时间、词库(四级,雅思,托福等),)
3.2 词库与学习内容
- 词书管理:内置词书 + 自定义词书
- 单词详情:单词拼写、音标、词性、释义、例句、发音
3.3 学习流程
-
首次学习需要选择词库,后续可以更改,设定学习计划,每天多少个,学习计划设定后,不在首页显示,在设置中更改。
-
新词学习:
第一阶段:先显示单词和例句,不提示中文,四选一,必须满足四个选项选择正确英译中答案,四个答案都是形近词,近义词等。
第二阶段:出中文,选择正确的英文,也是四个选项,都是形近词和近义词。
第三阶段:根据读音选单词。
第四阶段:拼写,自动播放读音,用户可以点击图标再次播放。
-
学习结果记录:正确率、耗时、连续正确次数
3.4 复习调度(核心)
- 基于 SRS(间隔重复)策略生成复习计划
- 每日待复习队列
- 复习结果回写并动态调整下次复习时间
3.5 统计与反馈
- 今日学习量、复习量、正确率
- 连续学习天数
- 周/月趋势图
3.6 系统能力
- 统一错误码与错误响应
- 审计日志(关键操作)
- 基础监控(接口耗时、错误率)
3.7页面设计
左侧菜单设计
左侧学习,学习统计,单词列表,设置。四个菜单切换标签。
学习统计页面
今日已学,今日复习,已掌握,总词汇。都可以进入二级页面查看详情。
学习页面
首次进入,学习页面可以设置学习计划,词库,每日新词目标,提醒时间。设置后只显示出来,在设置中才能修改。右侧开始学习按钮和复习按钮,点击学习按钮开始学习,学习新词每日新词目标的目标个数。点击复习按钮开始复习。复习按照遗忘曲线的来,每天和学习目标一致。
点击学习后进入学习,先按照上述的第一阶段过完每日新词目标个单词,再第二阶段每日新词目标个单词,第三阶段每日新词目标个单词。第四阶段过完每日新词目标个单词。(每个阶段不用点确定,点击单词即确定)。
设置页面
设置读音偏好,美音还是英音。重设学习计划。头像,昵称等。修改密码。
4. 非功能需求
- 可维护性:前后端分层清晰,模块边界明确
- 可扩展性:后续可拆分记忆引擎为独立服务
- 性能:常用接口 P95 < 300ms(本地单机目标)
- 安全性:鉴权、限流、输入校验、敏感信息脱敏
- 可测试性:核心调度逻辑具备单元测试
5. API 需求(第一阶段)
POST /api/v1/auth/registerPOST /api/v1/auth/loginGET /api/v1/words(分页)GET /api/v1/words/:idPOST /api/v1/study/sessionsPOST /api/v1/study/answersGET /api/v1/review/todayPOST /api/v1/review/submitGET /api/v1/stats/overview
6. 里程碑
- M1:基础骨架 + 认证 + 词库查询 + 学习记录
- M2:SRS 调度 + 每日复习 + 统计面板
- M3:体验优化 + 管理能力 + 稳定性增强
7. 验收标准(当前阶段)
- 能完成注册/登录并访问受保护接口
- 能查看单词并完成一次学习-复习提交
- 能生成当日复习任务
- Web 端可展示学习概览数据