En dashboard-app for å søke og analysere bedrifter fra Brønnøysundregistrene. Appen er designet for market research og candidate qualification.
- Søkefiltre: Filtrer på minimums aksjekapital, registreringsdato, organisasjonsform og navn
- Bedriftsliste: Vis 100 bedrifter per side med relevante opplysninger
- Daglig leder: Automatisk henting av daglig leder for hver bedrift
- Paginering: Naviger gjennom resultater
- Detaljvisning: Se full informasjon om en bedrift
- Eksport: Last ned resultater som CSV eller JSON
- Statistikk: Oversikt over resultater og gjennomsnittlig aksjekapital
- Framework: Next.js 16 (App Router)
- Frontend: React 18
- Backend: Next.js API Routes (serverless)
- Styling: Tailwind CSS
- TypeScript: Full type safety
- Installer dependencies:
bun install- Start utviklingsserveren:
bun run devAppen kjører på http://localhost:3000
- Åpne http://localhost:3000 i nettleseren
- Sett ønskede filtre (minimums aksjekapital er satt til 50000 som standard)
- Klikk "Søk" for å hente resultater
- Bruk paginering for å navigere gjennom resultater
- Klikk "Detaljer" på en bedrift for å se full informasjon
- Bruk eksport-knappene for å laste ned resultater
Next.js API Routes fungerer som en proxy til Brønnøysundregistrene API:
GET /api/search- Søk etter bedrifter med filtreGET /api/companies/[orgnr]- Hent detaljer om en bedriftGET /api/companies/[orgnr]/roles- Hent roller for en bedrift
Dette oppsettet støtter:
- Autentisering (email/passord) via Firebase Auth
- Data-lagring via Firestore (bl.a.
favoritesper bruker) - Fil-lagring via Firebase Storage (opplastinger + metadata i Firestore)
- Gå til Firebase Console
- Create project
- Authentication
- Sign-in method: aktiver
Email/Password
- Sign-in method: aktiver
- Firestore Database
- Lag en database (test/production avhengig av behov)
- Storage
- Enable Storage og lagre en bucket (standard er ok)
Firestore (favorites + filer + franchise-innstillinger per bruker): Se også firestore.rules i repo.
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /users/{userId}/{document=**} {
allow read, write: if request.auth != null && request.auth.uid == userId;
}
match /userSettings/{userId} {
allow read, write: if request.auth != null && request.auth.uid == userId;
}
}
}Storage (kun eier kan lese/skriv under uploads/{uid}/...):
rules_version = '2';
service firebase.storage {
match /b/{bucket}/o {
match /uploads/{userId}/{allPaths=**} {
allow read, write: if request.auth != null && request.auth.uid == userId;
}
}
}- Kopier
.env.exampletil.env.local - Fyll inn verdier fra Firebase Console:
- Project settings -> General -> Your apps -> Firebase config
- Storage bucket:
Project settings -> Storage
- Åpne
/loginog logg inn (eller opprett konto) - Trykk på favoritt i bedriftlisten (lagres nå i Firestore)
- Push koden til GitHub
- Importer prosjektet i Vercel
- Vercel vil automatisk detektere Next.js og deploye
# Bygg lokalt
bun run build
# Start produksjonsserver
bun start- API-et støtter ikke direkte filtrering på aksjekapital, så filtreringen skjer i backend etter henting
- Roller (daglig leder) hentes for hver bedrift i resultatlisten
- Maks 100 resultater per side (API-begrensning)