# Kløfta IL

Nettside + PWA + CRM for Kløfta Idrettslag (org.nr 974430711)

# Prosjektoversikt

# Kløfta IL — Prosjektoversikt

## Klient
- **Navn:** Kløfta Idrettslag
- **Org.nr:** 974430711
- **Kontakt:** kil@kloftail.no / 40 45 17 55
- **Daglig leder:** Steffen Nystrøm
- **Lead:** LD-RBQRL6
- **Pipeline:** PL-20260222-SQKC

## Relasjon
Alem er styremedlem (siste måned mars 2026). Tilbud sendes som ALAI etter avgang.

## Scope
1. **Ny nettside** — erstatte WordPress med Next.js + Sanity CMS
2. **PWA** — installbar app med push-varsler
3. **CRM Dashboard** — sponsor + frivillig management (fase 2)

## Tech Stack
| Komponent | Teknologi |
|-----------|-----------|
| Frontend | Next.js 16 + Tailwind + shadcn/ui |
| CMS | Sanity (prosjekt: 2p8jai8v) |
| Hosting | Vercel |
| Repo | github.com/johnatbasicas/klofta-il-web |

## Eksisterende verktøy (IKKE erstatt)
- **Rubic** — medlemsregistrering (NIF-godkjent)
- **Spond** — lagkommunikasjon
- **Fotball.no / Handball.no** — forbundsdata

## Budget
Estimat: 65-100K NOK (avhengig av CRM-scope)

## Live demo
https://web-puce-ten-85.vercel.app

# Feature Pitch

# Kløfta IL — Feature Pitch

**Levert av:** ALAI (alai.no)
**Kontakt:** Alem Bašić — alem@alai.no / +47 40 47 42 51
**Dato:** Februar 2026

---

## Hva er allerede bygget

Ny nettside med 7 sider — ferdig designet og kodet:
- Forside med alle idretter, nyheter, hendelser og sponsorer
- Fotball-seksjon med lag og treningstider
- Kalender (hendelser + banekalender)
- Bakkedalen Idrettspark
- Nyheter
- Bli medlem

Ekte bilder og logoer fra kloftail.no er integrert.
CMS (Sanity) er satt opp — innhold kan redigeres uten utvikler.

**Live demo:** https://web-puce-ten-85.vercel.app

---

## Planlagte funksjoner

### 1. Spond-integrasjon
**Hva:** Automatisk sync av treninger, kamper og arrangementer fra Spond til nettsiden.

**For KIL betyr dette:**
- Trenere legger inn i Spond som vanlig — nettsiden oppdateres automatisk
- Ingen dobbeltregistrering av hendelser
- Kalenderen på nettsiden viser alltid riktig informasjon
- Foreldre og medlemmer ser alt på ett sted, uten å trenge Spond-appen

### 2. Fotballdata.no-integrasjon
**Hva:** Live kampresultater, tabeller og terminlister fra fotball.no direkte på nettsiden.

**For KIL betyr dette:**
- Tabeller og resultater oppdateres automatisk etter hver kamp
- Alle aldersklasser (G/J 7-19, senior, old boys) vises
- Ingen manuell oppdatering av resultater
- Profesjonell fremstilling som større klubber

### 3. PWA — Nettsiden som app
**Hva:** Medlemmer kan "installere" nettsiden som en app på telefonen — rett fra nettleseren.

**For KIL betyr dette:**
- Ett trykk på hjem-skjermen → KIL-appen åpnes
- Push-varsler: "Kamp i kveld kl 18:00 — G14 vs Lillestrøm"
- Banekalenderen tilgjengelig offline
- Nyheter og oppdateringer rett på telefonen
- Ingen App Store, ingen nedlasting — bare en moderne nettside

### 4. Medlemsregistrering (Rubic-kobling)
**Hva:** "Bli medlem"-siden sender nye medlemmer direkte til Rubic for registrering.

**For KIL betyr dette:**
- Sømløs påmelding — velg idrett, fyll ut skjema, ferdig
- Rubic håndterer alt det formelle (NIF-godkjent)
- KIL slipper manuelle henvendelser for innmelding
- Tydelig oversikt over priser og hva medlemskapet inkluderer

### 5. CRM Dashboard (Fase 2)
**Hva:** Internt dashboard for administrasjon av sponsorer, frivillige og dugnad.

**For KIL betyr dette:**
- **Sponsoroversikt:** Hvem sponser hva, kontraktperiode, når skal det fornyes
- **Dugnad-tracking:** Hvem har meldt seg, timer registrert, oppmøtehistorikk
- **Frivilligoversikt:** Kontaktliste, roller, tilgjengelighet
- **Enkel rapportering:** Styret ser status uten å spørre rundt

---

## Hva dere beholder som før

| Verktøy | Rolle | Endring |
|---------|-------|---------|
| **Spond** | Lagkommunikasjon | Ingen — vi leser fra Spond, erstatter det ikke |
| **Rubic** | Medlemsregistrering (NIF) | Ingen — vi lenker til Rubic |
| **Fotball.no** | Forbundsdata | Ingen — vi henter data derfra |

Vi erstatter **kun WordPress** — alt annet fungerer som før, bare bedre koblet sammen.

---

## Teknisk oppsummering

| Komponent | Teknologi | Fordel |
|-----------|-----------|--------|
| Nettside | Next.js + Vercel | Lynrask, global CDN, ingen servervedlikehold |
| CMS | Sanity Studio | Enkelt å redigere, ingen plugins å oppdatere |
| Design | Tailwind + shadcn/ui | Konsistent, profesjonelt, mobil-først |
| App-opplevelse | PWA | Installbar, push-varsler, offline |
| Integrasjoner | API-koblinger | Spond, Fotballdata, Rubic — automatisk |

---

## Leveranseplan

| Fase | Innhold | Estimat |
|------|---------|---------|
| **Fase 1** ✅ | Nettside (7 sider) + CMS + deploy | Ferdig |
| **Fase 2** | Spond-sync + Fotballdata + ekte innhold | 2-3 uker |
| **Fase 3** | PWA + push-varsler + Rubic-kobling | 2 uker |
| **Fase 4** | CRM Dashboard (sponsor + frivillig) | 3-4 uker |

---

*Kløfta IL fortjener en nettside som matcher ambisjonene til klubben og Bakkedalen Idrettspark.*

# Status og oppgaver

# Status og oppgaver

## Fullførte oppgaver

### MC #1796 — Nettside bygget fra Figma (H) ✅
- 7 sider designet i Figma og kodet i Next.js
- Ekte bilder/logoer hentet fra eksisterende kloftail.no (WordPress REST API)
- Designtokens fra Figma (farger, typografi, spacing)
- Fonter: Montserrat (headings) + Inter (body)

### MC #1797 — Sanity CMS + Vercel deploy (H) ✅
- Sanity prosjekt: 2p8jai8v, dataset: production
- 5 schemas: nyhet, idrett, hendelse, anlegg, sponsor
- Embedded Studio på /studio
- Deployet til Vercel: https://web-puce-ten-85.vercel.app
- CORS konfigurert for Vercel + localhost

---

## Gjenstående oppgaver

### MC #1798 — Spond-integrasjon (M)
- Sync hendelser fra Spond til Sanity
- Bruk unofficial Spond API (github.com/d3ntastic/spond-api)
- Krever Spond-innlogging fra KIL
- Automatisk oppdatering av kalender

### MC #1799 — Fotballdata.no-integrasjon (M)
- Embed kampdata-widget fra fotballdata.no
- Krever ClubID fra fotballdata.no
- Tabeller, resultater, terminlister

### MC #1800 — PWA push-notifikasjoner (L)
- Service worker + web app manifest
- Push-varsler via Web Push API
- Installbar som app fra nettleseren

### MC #1801 — NIF/Rubic medlemsdata API (L)
- Krever partnerkontrakt med NIF/Rubic
- Sømløs "Bli medlem"-flow
- Foreløpig: direkte lenke til Rubic

### MC #1802 — CRM Dashboard (M)
- Sponsoroversikt (kontrakter, fornyelse)
- Dugnad/frivillig-tracking
- Krever database (Supabase/Neon)
- Fase 2 — etter nettside er live

---

## Sider bygget

| Side | Rute | Innhold |
|------|------|---------|
| Forside | / | Hero, idretter, nyheter, hendelser, sponsorer |
| Fotball | /fotball | Lag, treningstider, nyheter (placeholder-data) |
| Kalender | /kalender | Hendelser + banekalender |
| Bakkedalen | /bakkedalen | Idrettspark showcase, fasiliteter, kart |
| Nyheter | /nyheter | Artikkel med kampfakta-sidebar |
| Bli medlem | /bli-medlem | Priser, idrettsvalg, FAQ |
| Studio | /studio | Sanity CMS admin |

## Sanity-schemas

| Schema | Felter |
|--------|--------|
| nyhet | title, slug, sport, mainImage, publishedAt, author, excerpt, body, tags |
| idrett | name, slug, icon, color, memberCount, teamCount, coachCount, contact, image, description, spondGroupId, fotballdataClubId |
| hendelse | title, type, sport, startTime, endTime, location, opponent, teamName, spondEventId |
| anlegg | name, slug, details, image, sports, address, description |
| sponsor | name, logo, url, tier, active, order |

## Merknader
- Fotball-sidens data er placeholder — trenger ekte data fra Spond/Sanity
- Custom domene (kloftail.no) settes opp når KIL er klar til å bytte fra WordPress
- Alem går av styret mars 2026 — tilbud sendes som ALAI etterpå