Skip to content

Firebase oppsett

Denne guiden viser hvordan du setter opp Firebase-prosjektet for GolfChart.

Forutsetninger

  • Node.js 18+ installert
  • Firebase CLI installert globalt
  • Tilgang til Firebase-prosjektet

Installasjon

1. Installer Firebase CLI

npm install -g firebase-tools

2. Logg inn på Firebase

firebase login

3. Velg prosjekt

# Sjekk tilgjengelige prosjekter
firebase projects:list

# Velg aktivt prosjekt (dev/stage/prod)
firebase use dev

Prosjekter og miljøer

GolfChart bruker tre separate Firebase-prosjekter:

Miljø Prosjekt-ID Formål
dev golfbilkontroll-skigk-dev Lokal utvikling og testing
stage golfbilkontroll-skigk-stage Staging/QA før produksjon
prod golfbilkontroll-skigk Produksjonsmiljø

Sette opp aliaser

firebase use --add
# Velg dev-prosjekt, gi alias: dev
# Gjenta for stage og prod

Aktivere Firebase-tjenester

1. Firestore Database

# Region: europe-west1 (anbefalt for Norge)
firebase firestore:databases:create (default) --location=europe-west1

2. Authentication

I Firebase Console: 1. Gå til Authentication > Sign-in method 2. Aktiver "Email/Password" 3. (Valgfritt) Aktiver "Google" for OAuth

3. Storage

firebase storage:buckets:create gs://golfbilkontroll-skigk.appspot.com --location=europe-west1

4. Hosting

Allerede konfigurert i firebase.json:

{
  "hosting": {
    "site": "golfbilkontroll-skigk",
    "public": "admin/dist"
  }
}

Konfigurere secrets

Sensitive API-nøkler lagres med Firebase Functions config:

# SendGrid (e-post)
firebase functions:config:set sendgrid.key="SG.xxxxx"

# Twilio (SMS)
firebase functions:config:set twilio.sid="ACxxxxx" twilio.token="xxxxx"

# Gemini AI
firebase functions:config:set ai.gemini_api_key="AIzaSyxxxxx"

Sjekk konfigurasjon:

firebase functions:config:get

Deploy første gang

# Bygg admin UI
cd admin
npm run build
cd ..

# Deploy alt
firebase deploy

Delvis deploy

# Kun sikkerhetsregler
firebase deploy --only firestore:rules

# Kun functions
firebase deploy --only functions

# Kun hosting
firebase deploy --only hosting

Lokal emulering

For utvikling uten å påvirke prod-data:

# Start emulatorer
firebase emulators:start

# Med spesifikke tjenester
firebase emulators:start --only firestore,functions,auth

Tilgjengelig på: - Firestore: localhost:8080 - Functions: localhost:5001 - Auth: localhost:9099 - Hosting: localhost:5000 - UI: localhost:4000

Verifisering

Test at alt fungerer:

# Sjekk Firestore-regler
firebase firestore:rules:get

# List deployede funksjoner
firebase functions:list

# Sjekk hosting URL
firebase hosting:sites:list

Feilsøking

Permissions-feil

Sjekk at du har riktige roller i Firebase Console: - Owner eller Editor for full tilgang - Firebase Admin for deployment

Region-problemer

Sørg for konsistent region (europe-west1) på tvers av: - Firestore location - Functions region (i functions/src/index.ts) - Storage bucket

Config ikke tilgjengelig i functions

# Hent lokal config for emulator
firebase functions:config:get > functions/.runtimeconfig.json

Neste steg