我用 Xano 构建了一个习惯追踪应用

发布: (2025年12月14日 GMT+8 08:30)
3 min read
原文: Dev.to

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)– 字段:namedescriptioncategoryfrequencytarget_days(数组)、is_activeis_public
  • Habit_Logshabit_iduser_idlog_date(组合唯一)、completed(布尔值)、notesmood
  • Accountability_Partnersuser_idpartner_idstatuspending/accepted
  • Encouragements – 伙伴之间的消息
  • Achievements – 跟踪用户里程碑

Core API Endpoints

  • Authsignuplogin
  • Habits:CRUD 操作,GET /habits(用户的 habits)
  • Logs
    • POST /habits/{id}/log – 标记完成/未完成
    • GET /habits/{id}/logs – 查看历史记录
  • StatsGET /habits/{id}/stats – 当前连胜、完成率、总完成次数
  • DashboardGET /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 较少。
Back to Blog

相关文章

阅读更多 »