Swing Analysis
현지 골프 스윙 분석, 자세·P1‑P6·점수·볼 트레이서
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 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.