Skip to content

aye-t/yushi

Repository files navigation

屿时 yushi

屿时是一个面向个人目标管理的 Web 应用,包含目标打卡、日程计划、执行记录、每日复盘、成就统计、积分愿望板和能量恢复工具。

功能

  • 按日期管理目标与阶段打卡
  • 计划、执行与复盘时间轴
  • 连续打卡与成就统计
  • 积分账户和愿望兑换
  • 能量库与任务分类
  • 游客模式
  • Supabase 账号登录与云端数据同步

技术栈

  • Next.js 16
  • React 19
  • TypeScript
  • Supabase Auth 和 PostgreSQL
  • Tailwind CSS
  • Vercel

本地运行

npm install
cp .env.example .env.local
npm run dev

打开 http://127.0.0.1:3000

环境变量

.env.local 中填写自己的 Supabase 项目配置:

NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=

NEXT_PUBLIC_SUPABASE_ANON_KEY 是供浏览器使用的公开客户端密钥,安全边界依赖数据库 RLS。不要在仓库或前端代码中放入 service_role key、数据库密码、访问令牌或其他服务端密钥。

.env.local、其他本地环境变量文件、Vercel 本地配置和构建产物均已被 .gitignore 忽略。

Supabase

数据库迁移位于 supabase/migrations。请按文件名顺序应用全部迁移,而不是只执行第一份迁移。

生产环境应确认:

  • 所有公开 schema 表均启用 RLS
  • 前端仅使用 anon key
  • service_role key 只保存在可信服务端环境
  • Supabase Auth 的站点 URL 和回调 URL 与部署域名一致

数据与隐私

  • 游客模式数据保存在当前浏览器的 localStorage 中。
  • 登录用户的数据保存在其连接的 Supabase 项目中。
  • 仓库不包含生产数据库内容、用户账号、密码或真实环境变量。
  • 将自己的部署提供给他人使用前,应根据实际运营方式补充隐私政策和数据删除说明。

检查与构建

npm run lint
npm run build

部署

项目可部署到 Vercel。需要在 Vercel Project Settings 中配置与本地相同的两个公开 Supabase 环境变量。

安全

请勿在公开 Issue 中提交密钥、密码、用户数据或安全漏洞细节。安全问题请参阅 SECURITY.md

许可证

当前项目未授予开源许可证。公开仓库仅代表代码可见,不代表允许复制、修改或再发布。若希望其他人自由使用或贡献,请在公开前选择并添加合适的开源许可证。

About

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors