我用 Xano 构建了一个习惯追踪应用
Source: Dev.to
Overview
Habit tracker,我构建的这款应用,帮助用户记录每日例行事务并跟踪完成情况。它还允许你邀请一位监督伙伴,以在养成习惯的过程中保持自律。
Live app (via Xano static hosting)
https://default-dev-8050f4-xn9g-tt4h-4ei5.n7e.xano.io/
Full code on GitHub
https://github.com/EmmanuelTheCoder/Lite-habit-tracker-xano
Contact
Email: tester@gmail.com
Backend Design
Database Tables
- Users – 已启用身份验证
- Habits(关联到 users)– 字段:
name、description、category、frequency、target_days(数组)、is_active、is_public - Habit_Logs –
habit_id、user_id、log_date(组合唯一)、completed(布尔值)、notes、mood - Accountability_Partners –
user_id、partner_id、status(pending/accepted) - Encouragements – 伙伴之间的消息
- Achievements – 跟踪用户里程碑
Core API Endpoints
- Auth:
signup、login - Habits:CRUD 操作,
GET /habits(用户的 habits) - Logs:
POST /habits/{id}/log– 标记完成/未完成GET /habits/{id}/logs– 查看历史记录
- Stats:
GET /habits/{id}/stats– 当前连胜、完成率、总完成次数 - Dashboard:
GET /dashboard– 今日 habits、整体统计 - Partners:发送/接受请求,查看伙伴进度
- Encouragements:发送/接收消息
Business Logic
- 计算 current streak(连续完成的天数)
- 计算 completion rate(在一定时间段内的完成百分比)
- 根据
target_days判断 habit 是否 due today(今天应完成) - 防止对同一天的 duplicate logs(重复日志)
- 自动授予 achievements(例如 7 天连胜、30 天连胜)
Security
- 所有端点均需身份验证
- 用户只能访问自己的数据
- 伙伴只能看到标记为 public 的 habits
- 已应用适当的索引和数据验证
Development Experience
由于我的提示非常详细,Co‑pilot 和 Xanoscript 扩展执行得很好,我几乎不需要做太多工作。唯一的调整是细化 user 表并在登录和注册端点中添加 security.create_auth_token。
Xano 证明是一种构建全栈应用的简便方式。通过 VS Code 一键托管静态前端尤其方便,且身份验证的设置也很直接。
Challenges
- 缺少变量检查或断点导致在调试复杂应用时更费时。幸运的是,这个项目相对简单,我遇到的 bug 较少。