心境日记 - 软件需求文档
1. 项目概述与目标
项目愿景
创建一个专注于情绪记录和疗愈体验的web应用,帮助用户通过日常情绪记录、日记写作和数据分析来提升心理健康和自我认知。为用户提供一个温暖、安全的数字空间,促进情绪管理和心理疗愈。
核心目标
- 帮助用户建立持续的情绪记录习惯
- 通过数据可视化让用户了解自己的情绪变化趋势
- 提供一个私密、安全的情绪表达空间
- 通过日记写作促进用户的自我反思和情感疏导
MVP约束
- 无需用户注册/登录功能
- 数据存储在本地浏览器中
- 专注于核心情绪记录和分析功能
2. 用户角色
- 普通用户: 需要情绪管理和心理疏导的个人用户,希望通过记录和分析情绪来提升心理健康水平和自我认知能力。
3. 功能史诗与用户故事
史诗: 情绪记录管理
用户故事: EMOTION-001
作为一个普通用户,我想要快速记录当前的情绪状态,以便跟踪我的日常情绪变化。
验收标准:
- AC-1: 用户可以在主页面看到情绪记录入口
- AC-2: 用户可以选择1-10的情绪分数(1=非常糟糕,10=非常好)
- AC-3: 用户可以选择情绪类型标签(如:开心、焦虑、愤怒、平静等)
- AC-4: 用户可以添加简短的情绪描述文字(可选,最多200字符)
- AC-5: 系统自动记录提交的时间戳
- AC-6: 情绪记录保存到本地浏览器存储
用户故事: EMOTION-002
作为一个普通用户,我想要查看我的历史情绪记录,以便回顾我的情绪变化。
验收标准:
- AC-1: 用户可以查看按时间倒序排列的情绪记录列表
- AC-2: 每条记录显示日期、时间、情绪分数、类型标签和描述
- AC-3: 用户可以按日期筛选查看特定时间段的记录
- AC-4: 列表支持分页或滚动加载,避免一次加载过多数据
- AC-5: 页面加载时间在2秒内完成
史诗: 日记写作功能
用户故事: DIARY-001
作为一个普通用户,我想要写日记记录我的想法和感受,以便进行深度的自我反思。
验收标准:
- AC-1: 用户可以创建新的日记条目
- AC-2: 日记编辑器支持富文本格式(粗体、斜体、列表等)
- AC-3: 日记内容支持最多5000字符
- AC-4: 系统自动保存草稿,避免意外丢失内容
- AC-5: 用户可以为日记添加标题(可选)
- AC-6: 系统记录创建和最后修改时间
- AC-7: 日记内容保存到本地浏览器存储
用户故事: DIARY-002
作为一个普通用户,我想要查看和管理我的历史日记,以便回顾我的心路历程。
验收标准:
- AC-1: 用户可以查看按时间倒序排列的日记列表
- AC-2: 列表显示日记标题、创建日期和内容预览(前100字符)
- AC-3: 用户可以点击进入完整的日记阅读页面
- AC-4: 用户可以编辑已有的日记内容
- AC-5: 用户可以删除不需要的日记,删除前需要确认
- AC-6: 支持按关键词搜索日记内容
史诗: 多媒体内容管理
用户故事: MEDIA-001
作为一个普通用户,我想要在日记中添加图片,以便更完整地记录我的生活和情绪。
验收标准:
- AC-1: 用户可以在日记编辑器中上传图片文件
- AC-2: 支持常见图片格式(JPG、PNG、GIF)
- AC-3: 单个图片文件大小限制为5MB
- AC-4: 每篇日记最多可添加10张图片
- AC-5: 图片存储在本地浏览器中
- AC-6: 图片在日记中正确显示,支持点击放大查看
- AC-7: 用户可以删除已添加的图片
史诗: 数据可视化分析
用户故事: ANALYTICS-001
作为一个普通用户,我想要查看我的情绪变化趋势图,以便了解我的情绪模式。
验收标准:
- AC-1: 系统提供情绪分数的时间线图表
- AC-2: 用户可以选择查看不同时间范围(7天、30天、90天)
- AC-3: 图表清晰显示情绪分数的变化趋势
- AC-4: 图表支持交互,悬停显示具体数值和日期
- AC-5: 页面在3秒内完成图表渲染
- AC-6: 移动端图表适配良好
用户故事: ANALYTICS-002
作为一个普通用户,我想要查看我的情绪类型分布统计,以便了解我最常出现的情绪状态。
验收标准:
- AC-1: 系统提供情绪类型的饼图或柱状图
- AC-2: 图表显示每种情绪类型的出现频率和百分比
- AC-3: 用户可以选择统计的时间范围
- AC-4: 点击图表某个部分可以查看该情绪类型的详细记录
- AC-5: 当没有数据时显示友好的提示信息
史诗: 用户界面与体验
用户故事: UI-001
作为一个普通用户,我想要在一个温暖、舒适的界面中使用应用,以便感到安全和放松。
验收标准:
- AC-1: 应用采用温暖的色彩方案(柔和的暖色调)
- AC-2: 界面设计简洁清晰,避免视觉混乱
- AC-3: 字体易读,行间距合适
- AC-4: 按钮和交互元素有适当的大小,易于点击
- AC-5: 页面布局在不同屏幕尺寸下都能良好显示
- AC-6: 加载状态有友好的提示动画
用户故事: UI-002
作为一个普通用户,我想要快速找到我需要的功能,以便高效地使用应用。
验收标准:
- AC-1: 主导航清晰显示所有主要功能入口
- AC-2: 每个页面都有明确的标题和面包屑导航
- AC-3: 关键操作按钮突出显示
- AC-4: 首次使用时提供简单的功能介绍或引导
- AC-5: 错误信息和操作反馈及时、清晰
- AC-6: 应用响应时间在正常网络条件下保持流畅
史诗: 数据存储与管理
用户故事: DATA-001
作为一个普通用户,我想要我的数据安全地保存在本地,以便保护我的隐私并确保数据不丢失。
验收标准:
- AC-1: 所有用户数据(情绪记录、日记、图片)存储在浏览器本地存储中
- AC-2: 数据结构合理,便于查询和管理
- AC-3: 系统定期检查存储空间使用情况
- AC-4: 当存储空间不足时,向用户显示警告信息
- AC-5: 用户可以导出所有数据为JSON格式文件
- AC-6: 用户可以清空所有数据(需要二次确认)
用户故事: DATA-002
作为一个普通用户,我想要导入和导出我的数据,以便备份数据或迁移到其他设备。
验收标准:
- AC-1: 用户可以将所有数据导出为JSON格式文件
- AC-2: 导出文件包含情绪记录、日记内容和相关元数据
- AC-3: 用户可以通过上传JSON文件导入数据
- AC-4: 导入时验证文件格式的正确性
- AC-5: 导入冲突时提供合并或覆盖选项
- AC-6: 导入/导出过程有进度提示和错误处理