尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
Live app for golfturneringen Bacalao Cup MMXXV i Marbella (7.–10. oktober 2025). Viser kampoppsett, starttider og resultater for alle dager/økter, med en global stillingslinje og en detaljert stillingsmodal med statistikk. Alle 15 spillerne kan redigere direkte i appen, og endringer vises hos alle andre med det samme via Supabase Realtime — ingen innlogging kreves i denne versjonen. Bygget med Next.js (App Router) + TypeScript + Tailwind CSS, med Supabase (Postgres + Realtime) som backend.查看完整 README ↗
Live app for golfturneringen Bacalao Cup MMXXV i Marbella (7.–10. oktober 2025). Viser kampoppsett, starttider og resultater for alle dager/økter, med en global stillingslinje og en detaljert stillingsmodal med statistikk. Alle 15 spillerne kan redigere direkte i appen, og endringer vises hos alle andre med det samme via Supabase Realtime — ingen innlogging kreves i denne versjonen.
Bygget med Next.js (App Router) + TypeScript + Tailwind CSS, med Supabase (Postgres + Realtime) som backend.
Se supabase/migrations/0001_init_schema.sql for full skjema. Kort oppsummert:
teams — Gray (Joys) / Aquarellosplayers — 15 spillere, knyttet til et lagdays — turneringsdager med banesessions — økter per dag (format + poeng per kamp)matches — enkeltkamper med starttid, spillere/par, poeng og resultatsupabase/migrations/0002_seed_data.sql fyller inn spillerne, dagene, øktene og
alle kampene fra det opprinnelige turneringsoppsettet. Noen rader i
kildematerialet var ufullstendige eller tvetydige (kun én spiller lesbar i et
fourball-par, eller kun én rad lesbar i en hel økt) — disse er markert med et
note-felt i appen (⚠) slik at dere kan verifisere og rette dem direkte i UI-et.
Gå til supabase.com og opprett et nytt prosjekt (gratis tier er mer enn nok).
Gå til Project Settings → API og noter:
Project URLanon public API-nøkkelGå til SQL Editor i Supabase-dashboardet og kjør migrasjonene i rekkefølge:
supabase/migrations/0001_init_schema.sqlsupabase/migrations/0002_seed_data.sql(Alternativt, hvis du har Supabase CLI
koblet til prosjektet: supabase db push.)
Sjekk at Realtime er slått på for prosjektet (default). Migrasjonen legger
matches-tabellen til i supabase_realtime-publikasjonen automatisk.
Kopier .env.local.example til .env.local og fyll inn verdiene fra steg 1:
cp .env.local.example .env.local
NEXT_PUBLIC_SUPABASE_URL=https://your-project-ref.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
npm install
npm run dev
Åpne http://localhost:3000.
Åpne appen i to nettleservinduer/enheter samtidig, registrer et resultat i det ene, og bekreft at poengsummen og kampstatusen oppdaterer seg i det andre uten at du trenger å laste siden på nytt.
npm install -g vercel # hvis du ikke har den fra før
vercel
Eller via vercel.com: importer GitHub-repoet, og legg inn
NEXT_PUBLIC_SUPABASE_URL og NEXT_PUBLIC_SUPABASE_ANON_KEY under
Project Settings → Environment Variables før du deployer.
Denne versjonen har ingen innlogging — alle med lenken kan lese og redigere
data. Dette er en bevisst forenkling for internt bruk blant de 15 spillerne som
kjenner hverandre. Rad-nivå-sikkerhet (RLS) er slått på i databasen, men med
åpne policyer for anon-nøkkelen (se 0001_init_schema.sql).
Ønsker dere å legge til enkel tilgangskontroll senere, er de enkleste stegene:
matches til å kreve en innlogget bruker
(using (auth.role() = 'authenticated') e.l.) i stedet for using (true).src/
app/ Next.js App Router (layout, forside)
components/ UI-komponenter (ScoreHeader, StandingsModal, MatchRow, ...)
context/ TournamentContext — henter data + Realtime-subscription
lib/ Supabase-klient, typer, poengberegning, statistikk
supabase/
migrations/ SQL-skjema og seed-data