一个个人使用的每日 Todo 与时间记录网站。支持任务打勾、实时计时、手动补录、自动顺延、重复任务、分类标签、日历、周/月/季度统计,以及 CSV/JSON 导出。
需要 Node.js 20 或更高版本。
npm install
npm run dev打开 http://localhost:3000。没有配置 Supabase 时,网站使用浏览器本地存储,并自动载入少量示例数据方便体验。
- 在 Supabase 创建项目。
- 打开 SQL Editor,执行
supabase/migrations/202609070001_initial_schema.sql。 - 在 Authentication 设置中关闭公开注册,然后手动创建自己的邮箱密码账号。
- 复制
.env.example为.env.local,填写项目 URL、公开 publishable key 和允许登录的邮箱:
NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=your-public-publishable-key
NEXT_PUBLIC_ALLOWED_EMAIL=you@example.com
NEXT_PUBLIC_SITE_URL=https://your-domain.exampleSupabase publishable key 可以出现在浏览器端;真正的服务端密钥不应写入这个项目。数据库中所有业务表都启用了行级权限,登录者只能访问自己的数据。
npm test -- --run
npm run lint
npm run build- 把当前 Git 仓库推送到你的 GitHub 空仓库。
- 在 Vercel 导入该仓库。
- 在 Vercel 项目设置中添加与
.env.local相同的三个环境变量。 - 完成首次部署后,在 Vercel 的 Domains 设置中添加你的独立域名,并按提示配置 DNS。
每次向 GitHub 的生产分支推送后,Vercel 都会自动构建并发布新版本。