设计
设计:(60min)
数据库设计
-
Project(挑战)
- 开始日期
- 结束日期(可选) [v2.4]
- 挑战周期(默认50天)
-
状态(进行中 / 已结束)
-
完成率(计算字段)
- 打卡天数(计算字段) [v2.1]
- 连续打卡天数(计算字段) [v2.1]
-
Task(习惯)
- 名称(默认有7个习惯,可自定义)
- 排列顺序 [v1.1]
- 挑战(FK -> Project)
- 连续打卡天数(计算字段) [v1.2]
-
Record(每日记录)
- 第几天(挑战内相对天数)
- 完成情况(已完成 / 未完成)
- 备注 [v1.4]
- 习惯(FK -> Task)
-
Summary(每日总结) [v3.0]
- 第几天
- 内容
- 挑战(FK -> Project)
-
Message(激励语录) [v2.0]
- 第几天(ID)
- 内容
- 出处(可选)
页面设计
-
打卡页面
- 显示当前挑战第几天
- 展示7个习惯
- 支持打卡/修改/补打卡 [v1.1]
- 长按添加备注 [v1.4]
- 显示每日一句 [v2.0]
- AI生成每日总结 [v3.0]
-
回顾页面
- 显示挑战周期内每一天的习惯完成状态
- 统计挑战完成度(打卡率,连续天数)
- 查看每日总结列表 [v3.0]
- 点击习惯项目,查看对应的备注列表 [v1.4]
- 提供分享功能:生成挑战成果图并可分享 [v2.0]
-
设置页面
- 用户偏好
- 外观主题设定 [v1.4]
- 振动反馈设定 [v1.4]
- 提醒时间设定 [v1.3]
- 数据管理
- 自定义挑战周期 [v1.2]
- 自定义习惯 [v1.1]
- 结束当前挑战,归档后返回到开始页面
- 查看历史挑战
- 外部链接
- Project50介绍
- 技术支持
- 用户隐私
- APP分享与评价 [v2.0]
- 用户偏好
-
挑战开始页面 / 挑战完成页面 / 引导页面
- 如果首次使用,显示引导页面
- 如果没有进行中的挑战:挑战开始页面
- 如果有进行中的挑战:
- 挑战周期未结束:上述1-3页面
- 挑战周期结束后:挑战完成页面,展示挑战成果
页面流程图
graph LR
A[引导页(v2.4)] --> B[开始页]
A[引导页(v2.4)] <--> C[挑战中]
A[引导页(v2.4)] --> D[完成页]
B[开始页] <--> C[挑战中]
C[挑战中] <--> D[完成页]
subgraph C [挑战中]
E[打卡页] <-->|切换| F[回顾页]
E[打卡页] <-->|切换| G[设置页]
F[回顾页] <-->|切换| G[设置页]
E[打卡页] -->|备注| H[备注页(v1.4)]
F[回顾页] -->|查看| I[备注列表(v1.4)]
F[回顾页] -->|查看| P[每日总结列表(v3.0)]
subgraph G [设置页]
J[设置菜单] -->|查看| K[挑战历史]
K[挑战历史] -->|查看| L[挑战详细]
L[挑战详细] -->|查看| M[备注列表(v1.4)]
L[挑战详细] -->|查看| Q[每日总结列表(v3.0)]
J[设置菜单] -->|编辑| N[自定义习惯(v1.1)]
J[设置菜单] -->|编辑| O[自定义天数(v1.2)]
end
end