尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
建一个饭局,拿到别人猜不到的链接。不注册。 后面的功能沿用这一套,不另换。 • Next.js(App Router)与 TypeScript • SQLite,通过 @libsql/client 连接。本地开发时数据在 data/split-bill.db;线上用 Turso(libSQL)。第一次访问时自动建表 • 不接登录;线上部署见下文「上线部署」 饭局写在表 gatherings(id、name、created_at)。参与人、账目、分摊写在同一库的新表里,用 gathering_id 指向饭局。饭局页地址是 /g/。id 是 16 字节随机数,编码为 base64url。 线框在 docs/wireframes/。 需要 Node.js 22。不配置 Turso 环境变量时,会自动使用本地文件 data/split-bill.db。檢視完整 README ↗
建一个饭局,拿到别人猜不到的链接。不注册。
后面的功能沿用这一套,不另换。
@libsql/client 连接。本地开发时数据在 data/split-bill.db;线上用 Turso(libSQL)。第一次访问时自动建表饭局写在表 gatherings(id、name、created_at)。参与人、账目、分摊写在同一库的新表里,用 gathering_id 指向饭局。饭局页地址是 /g/<id>。id 是 16 字节随机数,编码为 base64url。
线框在 docs/wireframes/。
需要 Node.js 22。不配置 Turso 环境变量时,会自动使用本地文件 data/split-bill.db。
npm install && npm run dev
公开网址:https://split-bill-pi-eight.vercel.app
jackey-hung 下的项目 split-bill(Hobby 计划),默认 Next.js 构建,无自定义 Server。split-bill(Starter 免费档,区域 Tokyo),通过 Vercel Marketplace 的 Turso 集成 创建并绑定。集成会为 所有环境 自动写入 TURSO_DATABASE_URL 与 TURSO_AUTH_TOKEN,无需在 Vercel 里手填这两项。turso db create split-bill(名称可自定)。turso db show split-bill --url。turso db tokens create split-bill。TURSO_DATABASE_URL 与 TURSO_AUTH_TOKEN(若已用 Marketplace 集成可跳过)。main 后,Vercel 会自动部署到 Production(公开网址见上文)。饭局与账目保存在 Turso,重新部署不会清空数据。
npm run lint
npm run typecheck
npm test
npx playwright install chromium
npm run test:e2e
npm test 覆盖创建、读取、找不到饭局、链接唯一且不可猜,以及参与人的增删改。npm run test:e2e 用 Playwright,视口 375×667,覆盖建饭局与参与人相关 AC。
AC8(已入账不可删)在单元测试里用 lib/expenses.seedExpense 写入最小账目行;端到端在 E2E_TEST_HELPERS=1 时调用 POST /api/gatherings/<id>/test/expenses(Playwright 的 webServer 已设置该变量)。该路由仅用于测试,生产 dev 默认不可用。
GitHub Actions 在 pull request 和推送到 main 时安装依赖、跑 lint、类型检查、单元测试,并安装 Playwright 浏览器后跑端到端测试。