Files
memora/REQUIREMENTS.md

87 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Memora 需求文档(重设计版)
## 1. 项目目标
Memora 是一个以「长期记忆留存」为目标的背单词系统,面向中文学习者,提供:
- 单词学习与复习闭环(学习 → 测试 → 复习)
- 基于遗忘曲线的复习调度
- 数据可视化与学习反馈
- Web 端优先,后续支持移动端复用 API
---
## 2. 用户角色
- 普通用户:学习、复习、查看统计
- 管理员(可选):词库管理、运营配置、异常数据处理
---
## 3. 核心功能需求
### 3.1 账户与身份
- 用户注册/登录(邮箱或手机号,后续可扩展 OAuth
- Token 鉴权JWT
- 个人学习偏好(每日目标、提醒时间、难度偏好)
### 3.2 词库与学习内容
- 词书管理:内置词书 + 自定义词书
- 单词详情:拼写、音标、词性、释义、例句、发音
- 标签体系:阶段(新词/熟词/难词)、来源、主题
### 3.3 学习流程
- 新词学习:按计划推送
- 测试模式:拼写题、选择题、释义匹配(可扩展)
- 学习结果记录:正确率、耗时、连续正确次数
### 3.4 复习调度(核心)
- 基于 SRS间隔重复策略生成复习计划
- 每日待复习队列
- 复习结果回写并动态调整下次复习时间
### 3.5 统计与反馈
- 今日学习量、复习量、正确率
- 连续学习天数
- 周/月趋势图
- 难词排行与建议复习列表
### 3.6 系统能力
- 统一错误码与错误响应
- 审计日志(关键操作)
- 基础监控(接口耗时、错误率)
---
## 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基础骨架 + 认证 + 词库查询 + 学习记录
- M2SRS 调度 + 每日复习 + 统计面板
- M3体验优化 + 管理能力 + 稳定性增强
---
## 7. 验收标准(当前阶段)
1. 能完成注册/登录并访问受保护接口
2. 能查看单词并完成一次学习-复习提交
3. 能生成当日复习任务
4. Web 端可展示学习概览数据