尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Live sponsor contests (Long Drive, Closest to the Pin) for golf tournaments. Golfers scan a QR code at the hole, pick their name and submit; the leader updates live.
ca-central-1 (Canada)| Path | Who | What |
|---|---|---|
/c/<token> | Golfers (no login) | Contest page from the QR code: sponsor, live leader, pick name, submit |
/login | Staff | Email + password sign in, branded with the default course (logo + course map) |
/login/<course> | Staff | Same sign in, branded for one course (e.g. /login/westwood-plateau) |
/admin | Staff | Events, contests, QR codes, open/close, go live |
/admin/contests/<id> | Staff | Entries for a contest; accept / reject / void |
cp .env.example .env.local # fill in the two Supabase values
npm install
npm run dev
Import this repo in Vercel and add the two environment variables from .env.example
(Supabase → Project Settings → API). Every push to main deploys automatically.
The golf admin upgrade is a review candidate, not an approved production release.
Start with SUPABASE-UPDATE-GUIDE.md for GitHub publication,
target inventory, migration sequencing, permissions, media and coordinated rollout.
LOCAL-REVIEW.md records the implementation checks and open gates.
Read-only target checks are under supabase/checks/; runbook SQL can be exercised
offline with node scripts/verify-rollout-sql.mjs in the approved test sandbox.
See supabase/README.md. Migrations live in supabase/migrations/,
tests in supabase/tests/ (npm i @electric-sql/pglite && node supabase/tests/schema.test.mjs).
Each course client has two parts:
src/lib/course-brand.ts plus its logo and course map in
public/courses/<slug>/. NEXT_PUBLIC_DEFAULT_COURSE picks the brand on the plain /login page.supabase/courses/<slug>.sql, run once in the Supabase SQL editor after the migrations.
npm run test:db applies every file there and checks the totals.| Course | Slug | Catalog |
|---|---|---|
| GreenTee Country Club Westwood Plateau — Sky Course (Coquitlam, BC) | westwood-plateau | 5 tees (Gold 6,770 · Blue 6,355 · White 5,893 · Red 5,219 · Green 5,014 yds), from the club's official scorecard |
Use a club's logo and map only with the club's permission before showing it to anyone outside a sales demo.
Two MCP servers are recommended for UI work. Add them once at user scope so every project gets them:
claude mcp add --scope user shadcn-ui -- npx -y @jpisnice/[email protected]
claude mcp add --scope user --transport http 21st-magic https://21st.dev/api/mcp --header "x-api-key: $API_KEY_21ST"
@jpisnice/shadcn-ui-mcp-server (MIT, pinned 3.0.0): reads shadcn/ui component source and docs from GitHub.
Optional: export GITHUB_PERSONAL_ACCESS_TOKEN (no scopes needed) for higher GitHub rate limits.API_KEY_21ST; never commit the key. Prompts you send it go to 21st.dev.Note: the app does not use Tailwind yet, and shadcn/21st components assume Tailwind. Adding Tailwind v4 is the first step before installing any of their components.