尚未偵測到更新。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