尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Log golf rounds with friends; whoever shoots the lowest score at a course holds the "course record." Centerpiece feature is a world map showing who holds what, with a Voronoi "territory" view.
Full architecture/data-model rationale: see the plan this was built from — data model, RLS design, OSM ingestion, and map/UX design decisions are all documented there.
Fully live against a real Supabase project — no mock data left. Every page reads/writes through RLS-protected queries, verified end-to-end against the live database (auth, group creation/joining, logging a round, and every downstream query it feeds: ledger, leaderboard, map, course detail, profile).
supabase/migrations/0001-0004 — schema, RLS policies, course_group_records view, the atomic create_group/redeem_invite functions, and the OSM-shadow-field trigger. All run and verified.lib/supabase/{client,server}.ts, proxy.ts — Supabase SSR client + session refresh.app/login, app/signup, app/onboarding, components/layout/AuthMenu.tsx — real Supabase Auth.lib/queries.ts, lib/supabase/guards.ts — shared data-fetching + auth/active-group guards used by every page.app/dashboard, app/leaderboard, app/courses, app/courses/[id], app/log-round, app/map, app/profile/[id] — all real data.scripts/ingest-osm.ts.NEXT_PUBLIC_SUPABASE_URL and SUPABASE_SERVICE_ROLE_KEY as GitHub Actions secrets so the scheduled ingestion + keepalive workflows run (currently only tested by running them locally).npm run dev
Open http://localhost:3000 — it redirects to /dashboard. Try /map for the centerpiece feature (toggle "Pins" vs "Territory" in the left rail).
Next.js (App Router) + TypeScript + Tailwind + shadcn/ui, Supabase (Postgres + Auth), MapLibre GL + OpenFreeMap (free, no API key) via react-map-gl/maplibre, d3-geo-voronoi for the territory view. Deployed on Vercel.