# 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/register` - `POST /api/v1/auth/login` - `GET /api/v1/words`(分页) - `GET /api/v1/words/:id` - `POST /api/v1/study/sessions` - `POST /api/v1/study/answers` - `GET /api/v1/review/today` - `POST /api/v1/review/submit` - `GET /api/v1/stats/overview` --- ## 6. 里程碑 - M1:基础骨架 + 认证 + 词库查询 + 学习记录 - M2:SRS 调度 + 每日复习 + 统计面板 - M3:体验优化 + 管理能力 + 稳定性增强 --- ## 7. 验收标准(当前阶段) 1. 能完成注册/登录并访问受保护接口 2. 能查看单词并完成一次学习-复习提交 3. 能生成当日复习任务 4. Web 端可展示学习概览数据