Skip to content

设计

设计:(60min)

数据库设计

  1. Project(挑战)

    • 开始日期
    • 结束日期(可选) [v2.4]
    • 挑战周期(默认50天)
    • 状态(进行中 / 已结束)

    • 完成率(计算字段)

    • 打卡天数(计算字段) [v2.1]
    • 连续打卡天数(计算字段) [v2.1]
  2. Task(习惯)

    • 名称(默认有7个习惯,可自定义)
    • 排列顺序 [v1.1]
    • 挑战(FK -> Project)
    • 连续打卡天数(计算字段) [v1.2]
  3. Record(每日记录)

    • 第几天(挑战内相对天数)
    • 完成情况(已完成 / 未完成)
    • 备注 [v1.4]
    • 习惯(FK -> Task)
  4. Summary(每日总结) [v3.0]

    • 第几天
    • 内容
    • 挑战(FK -> Project)
  5. Message(激励语录) [v2.0]

    • 第几天(ID)
    • 内容
    • 出处(可选)

页面设计

  1. 打卡页面

    • 显示当前挑战第几天
    • 展示7个习惯
    • 支持打卡/修改/补打卡 [v1.1]
    • 长按添加备注 [v1.4]
    • 显示每日一句 [v2.0]
    • AI生成每日总结 [v3.0]
  2. 回顾页面

    • 显示挑战周期内每一天的习惯完成状态
    • 统计挑战完成度(打卡率,连续天数)
    • 查看每日总结列表 [v3.0]
    • 点击习惯项目,查看对应的备注列表 [v1.4]
    • 提供分享功能:生成挑战成果图并可分享 [v2.0]
  3. 设置页面

    • 用户偏好
      • 外观主题设定 [v1.4]
      • 振动反馈设定 [v1.4]
      • 提醒时间设定 [v1.3]
    • 数据管理
      • 自定义挑战周期 [v1.2]
      • 自定义习惯 [v1.1]
      • 结束当前挑战,归档后返回到开始页面
      • 查看历史挑战
    • 外部链接
      • Project50介绍
      • 技术支持
      • 用户隐私
      • APP分享与评价 [v2.0]
  4. 挑战开始页面 / 挑战完成页面 / 引导页面

    • 如果首次使用,显示引导页面
    • 如果没有进行中的挑战:挑战开始页面
    • 如果有进行中的挑战:
      • 挑战周期未结束:上述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