Noter plan for internasjonale baner (golfapi.io) i backlog/ADR-019
Ren dokumentasjonsrunde, ingen kode - fanger retningen fra brukerens eksterne research (Gemini) om hvordan TeeCup kan støtte baner utenfor Norge når/hvis produktet kommersialiseres. Golfapi.io valgt som leverandør, anbefalt tilnærming er live API + egen caching (samme import-ved-eksplisitt-valg-prinsipp som ADR-019 allerede etablerte for teeoff), ikke det dyre CSV-databasekjøpet. Ingen ADR skrevet ennå - bevisst utsatt til dette faktisk skal bygges. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
0e89546dc7
commit
83caddf193
2 changed files with 66 additions and 0 deletions
|
|
@ -660,6 +660,13 @@ db/RLS-avhengighet — samme isolasjonsprinsipp som `handicap_engine.py`).
|
|||
`POST .../courses/official-import`. Migrasjon `010_official_course_unique_
|
||||
ref.sql`.
|
||||
|
||||
**Tillegg 2026-08-03 (research, ikke bygget):** samme import-ved-eksplisitt-
|
||||
valg-prinsipp er identifisert som riktig mal for en fremtidig internasjonal
|
||||
banekilde (golfapi.io, for baner utenfor Norge/`teeoff_db`s dekning) — en
|
||||
tredje `course.source`-verdi + `app/golfapi_client.py` ved siden av
|
||||
`app/teeoff_client.py`, ikke en ny arkitektur. Ingen ADR-runde startet ennå,
|
||||
kun notert. Full detalj i FEATURE_BACKLOG.md, «Internasjonale baner».
|
||||
|
||||
---
|
||||
|
||||
## ADR-020 — Invitasjonskode (oppdagelse), matchledelse og projisert stilling
|
||||
|
|
|
|||
|
|
@ -2130,6 +2130,65 @@ sammenslåing eller rekkefølge-endring i en senere runde.
|
|||
|
||||
---
|
||||
|
||||
### Internasjonale baner (utenfor Norge) — 📋 NOTERT, IKKE designet/bygget (research 2026-08-03)
|
||||
|
||||
Brukeren undersøkte (i en ekstern Gemini-samtale, ikke denne økten — notert
|
||||
her for å fange retningen før den glemmes, samme rutine som Order of
|
||||
Merit-notatet over) hvordan TeeCup kan støtte baner utenfor Norge, siden
|
||||
`teeoff_db` (ADR-004/ADR-019) kun dekker norske baner. Ingen kode skrevet,
|
||||
ingen ADR-runde startet ennå — dette er et fremtidig, ikke-akutt behov,
|
||||
relevant når/hvis TeeCup faktisk kommersialiseres og får brukere utenfor
|
||||
Norge (se `teecup.golf`-domeneplanen, kjøpt med sikte på at TeeCup etter
|
||||
hvert flytter dit fra `teecup.teeoff.no`).
|
||||
|
||||
**Valgt dataleverandør: Golf API (golfapi.io)** — ~42 000 baner globalt,
|
||||
tilbyr BÅDE et REST-API og en fullstendig CSV-database-eksport
|
||||
(`clubs.csv`/`courses.csv`/`tees.csv`/`coordinates.csv`). Andre vurderte
|
||||
og forkastet: iGolf (40 000+, men B2B/enterprise-dyrt), GolfCourseAPI
|
||||
(~30 000, gratisnivå men mer begrenset), Golf Intelligence (fokusert på
|
||||
simulatorer/3D, feil målgruppe).
|
||||
|
||||
**Anbefalt tilnærming: Live API + egen caching, IKKE CSV-database-kjøp
|
||||
foreløpig.** Dette er strukturelt identisk med mønsteret ADR-019 allerede
|
||||
etablerte for teeoff-import (`source='official'` + `external_course_ref`,
|
||||
kopiér-ved-eksplisitt-valg i stedet for live oppslag ved hver bruk) — samme
|
||||
"importer én gang, lagre lokalt, aldri avhengig av en ekstern tjenestes
|
||||
oppetid ved handicap-beregning"-prinsipp, bare med en ny ekstern kilde i
|
||||
tillegg til teeoff. Golfapi.io sin avtale tillater eksplisitt caching
|
||||
("you can store/cache the fetched course data... no need to call the API
|
||||
to fetch the same course multiple times") — så en tredje `course.source`-
|
||||
verdi (f.eks. `'international'`, mønster fra `'official'`) med et eget
|
||||
`app/golfapi_client.py` (samme isolasjonsprinsipp som `app/teeoff_client.py`)
|
||||
er den naturlige videreføringen NÅR dette designes, ikke en ny arkitektur.
|
||||
CSV-database-kjøpet (3 995-5 995 € for alle baner, avhengig av om
|
||||
koordinater inkluderes) er en betydelig forhåndskostnad som er unødvendig
|
||||
så lenge caching-tilnærmingen dekker behovet organisk (bruker søker opp en
|
||||
bane → 1 API-kall → lagres lokalt for alltid).
|
||||
|
||||
**Prisplan hos golfapi.io** (hentet 2026-08-03, kan være utdatert ved
|
||||
faktisk bygging — bekreft på nytt): API-kall/måned: 50→29€, 500→99€,
|
||||
2000→199€, 4000→299€, ubegrenset→399€ (krever årsabonnement). Et
|
||||
engangskjøp på 500 tidsubegrensede kall finnes for 199€ (ingen løpende
|
||||
kostnad, egnet for en beta-fase med få brukere). 15 dagers gratis prøve.
|
||||
CSV-eksport (hvis man likevel velger det senere): «All courses» 3 995€
|
||||
uten koordinater/5 995€ med, «Europa»/«USA»/«Asia-Pacific+Africa» hver
|
||||
1 995€/2 995€. CSV gir 6 måneders oppdateringstilgang, deretter 20% av
|
||||
opprinnelig pris per år for videre oppdateringer.
|
||||
|
||||
**Bevisst utsatt, naturlig neste steg NÅR dette skal bygges:** en liten
|
||||
ADR (samme mønster som ADR-019) som dekker (1) ny `course.source`-verdi +
|
||||
migrasjon, (2) `app/golfapi_client.py` sitt kontraktsformat + enhets-
|
||||
konvertering (advarsel fra research: amerikanske kilder returnerer ofte
|
||||
yards, må konverteres til meter FØR lagring — `hole`/`tee_rating`-
|
||||
tabellene har ingen enhets-diskriminator i dag), (3) hvordan bane-søket i
|
||||
frontend (samme to-felts-forvirring som teeoff-søket over, se det åpne
|
||||
punktet rett over) skal skille "søk norske baner (teeoff)" fra "søk
|
||||
internasjonale baner (golfapi.io)" — trolig ett samlet søkefelt med
|
||||
landkode-basert ruting internt, ikke to synlige knapper. Ikke noe hastverk
|
||||
— ingen brukere utenfor Norge ennå.
|
||||
|
||||
---
|
||||
|
||||
## Invitasjonskode, ledende side og projisert stilling — ADR-020
|
||||
|
||||
Reist av brukeren 2026-07-19, rett etter at kamp-play-flyten var komplett.
|
||||
|
|
|
|||
Loading…
Reference in a new issue