Om kunden

SKS er ein leiande aktør innan vasskraftproduksjon og driv fleire kraftstasjonar spreidde over ulike regionar. Nettverket deira omfattar både store og små vasskraftverk, kvar med fleire generatorar og vassreservoar.

Forside

Utfordringa

Å få ein heilskapleg oversikt over tilstand i anleggene, var ein kompleks øving som krevde innsikt i flere ulike system. SKS hadde behov for ei løysing som samlet informasjon fra desse ulike systema og samla dei i ein oversiktelig plattform.

Løysinga: SKS-plattforma

SKS-plattforma er ei digital løysing som gir SKS ei overordna visning over kraftproduksjonen sin – og fungerer både som operativt verktøy og som plattform for innsikt, planlegging og rapportering.

Eksempeldata frå utviklingsmiljøet

Sanntidsovervaking

  • Sanntidsvisning av kraftproduksjon frå kvar stasjon og individuelle generatorar
  • Produksjonsdata i sanntid, målt i megawatt (MW)
  • Visning av generatorstatus (i drift, klar til start, ikkje klar)
  • Vasstandsovisning i reservoar med høg- og lågast regulert vannstand (HRV/LRV)
Oversikt over produksjonsdata

Ytingsanalyse

  • Historikk for produksjon med detaljerte grafar
  • Visning av kapasitetsutnytting
  • Produksjonsstatistikk for dag og veke
  • Ytingsvisning for kvar enkelt generator
Døme på vannstreng som viser korleis vatn flyt gjennom magasiner og genratorar ved hjelp av React Flow

Magasinoversikt

  • Interaktivt kart som viser alle kraftstasjonar og deira status
  • Visuell framstilling av kraftproduksjonsnettverket med React Flow
  • Sanntidsindikatorar for kvar stasjon
  • Organisering av stasjonar i grupper
Kobling mot jobbtech let ein få oversikt over saker i spel

Teknisk gjennomføring

Plattforma er utvikla med moderne webteknologi og har ein frontend bygd i React med TypeScript, noko som sikrar både fleksibilitet og pålitelegheit. For å gi brukarane eit moderne og responsivt grensesnitt, er Mantine UI teken i bruk. Geografisk visualisering er løyst ved hjelp av Mapbox, som gjer det mogleg å sjå kraftstasjonane direkte på eit interaktivt kart. Sanntidsoppdateringar av data er ein sentral del av løysinga, og plattforma er tett integrert med eksterne system gjennom omfattande API-støtte.

Mock Hydro: Skjemaførst API-utvikling for Kraftstasjonar

Om Mock Hydro

Mock Hydro er eit viktig verktøy i utviklingsprosessen av SKS-plattformen. Det er ein skjemaførst (schema first) API-implementasjon som gjer det mogleg å utvikle og teste frontend-funksjonalitet utan å vere avhengig av ein fungerande backend. Dette er særleg nyttig i tidlege fasar av utviklinga og for testing, og i høve der me som utviklingspartner ikkje skal ha tilgang til ekte data. Nedanfor finn du sjølve repoet.

GitHub - ilder-as/mock-hydro-power: This is a mocked API for a generic HydroPower.
This is a mocked API for a generic HydroPower. Contribute to ilder-as/mock-hydro-power development by creating an account on GitHub.

Motoren bak sjølve mockinga er Prism

Prism | Open-Source HTTP Mock and Proxy Server | Stoplight
Accelerate API development with realistic mock servers powered by API descriptions.

Skjemaførst Tilnærming

Plattformen brukar OpenAPI-spesifikasjonar for å definere datastrukturen og API-endepunkta. Dette gjev fleire fordelar:

  • Typegenerering: Automatisk generering av TypeScript-typar frå API-skjemaet
  • Konsistent Datastruktur: Alle datastrukturar er definert i YAML-filer
  • Dynamisk Testdata: Automatisk generering av realistisk testdata
  • API-dokumentasjon: Automatisk generert API-dokumentasjon

Me nyttar Orval i samband med OpenAPI speccen i mock repo for typegenering.

orval
orval is able to generate client with appropriate type-signatures (TypeScript) from any valid OpenAPI v3 or Swagger v2 specification, either in yaml or json formats. 🍺
    "api:generate": "orval --config ./orval.config.ts"

Samhandling på tvers

SKS er ei verksemd som arbeider breidt. SKS opererer i eit stort geografisk område, mange ulike faglege disiplinar og i ulike fagsystem. Med dette systemet får SKS data ut av siloar og folk har no tilgang til visninger som gir oversikt over ulike delar av produksjonen.

Lenkja er kopiert!