健身挑战
与朋友一起追求健身目标很有趣。挑战你的朋友进行日常活动,看看谁是领先者。你可以使用任何健身追踪器,如Apple Watch、Fitbit等。将追踪器同步到Apple Health / Google Fit。该应用程序从Apple Health / Google Fit读取日常活动。
功能
- 用户注册和/或登录
- 查看他们参与的所有挑战以及当前的排名
- 创建新挑战并选择衡量类型 – #步数或消耗的卡路里。
- 使用电子邮件邀请朋友参加挑战
- 从Apple Health/Google Fit同步健康数据
- 打开挑战并查看所有用户的排行榜
Fitness Challenge 基于 Flutter 和 Appwrite 构建。它使用 AppWrite 进行
- 新用户注册
- 用户登录
- 将所有文档(新挑战、用户活动等)存储在数据库中
- 使用服务器端函数计算排行榜
截图
入门
- 安装 Appwrite,打开AppWrite控制台(https://)并创建你的项目
- 在Appwrite项目中添加Flutter平台。更新部署目标,如 iOS 部分所示。
- 在Xcode的“Capabilities”选项卡中启用Healthkit,如此处所示。
- 将以下内容添加到info.plist
<key>NSHealthShareUsageDescription</key>
<string>We will sync your data with the Apple Health app to give you better insights</string>
<key>NSHealthUpdateUsageDescription</key>
<string>We will sync your data with the Apple Health app to give you better insights</string>
- 在Appwrite控制台中创建以下集合
- users: user_id (文本), user_name (文本), email (文本), health_last_sync (数字)
- user_activities: user_id (文本), measure_type (文本), value (数字)
- challenges: challenge_id (文本), challenge_name (文本), measure_type (文本)
- leaderboard: challenge_id (文本), challenge_name (文本), user_id (文本), user_name (文本), email (文本), rank (数字), measure_type (文本), value (数字)
- 在Appwrite控制台中创建用户配置创建服务器端函数,如此处所述。
- 在Appwrite控制台中创建排行榜计算函数,如此处所述。
UI设计
欢迎、登录和注册页面来自这个 github 仓库。
接下来做什么
- 使用Appwrite内置的OAuth2集成,通过其他OAuth提供商(Google、Facebook、Twitter等)进行用户身份验证
- 使用Appwrite的电子邮件验证功能进行电子邮件验证
- 使用Appwrite的密码恢复功能进行密码恢复
- 在用户确认后才将其添加到挑战(目前,邀请时默认添加)
- 更好的UI?
- 挑战的开始日期和结束日期以及获胜者的宣布
- 选择挑战中其他健康数据类型的选项 – 目前只考虑步数和消耗的活动能量用于挑战
- 与Google Fit集成(目前仅与Apple Health集成)
- 增量式自动同步健康数据(无需点击特定按钮)






