Myndighetsutövning

Myndighetsutövning – mark och exploatering

En webbapplikation som stödjer kommunens handläggning av mark- och exploateringsärenden – från inkommet ärende till avtal, beslut och fakturering.

Om applikationen

Kommunens mark- och exploateringsverksamhet hanterar ärenden som rör den mark kommunen äger: arrenden och andra upplåtelser, försäljning och köp av mark, servitut samt frågor kopplade till exploatering och samhällsbyggnadsprojekt. Ärendena innebär myndighetsutövning och ställer höga krav på spårbarhet, korrekt dokumentation och enhetlig handläggning.

Applikationen ger handläggarna ett samlat arbetsstöd. Varje ärende följer en standardiserad process där handläggaren har tillgång till uppgifter om berörda parter och fastigheter, kan kommunicera med sökande direkt från ärendet, upprätta avtal utifrån gemensamma mallar och följa ärendets status hela vägen till avslut.

Genom kopplingen till fastighetsinformation och kommunens avtals- och faktureringsflöden minskar dubbelarbetet: uppgifter hämtas där de redan finns, och underlag för fakturering skapas som en del av handläggningen i stället för i efterhand.

Det här stödjer applikationen

  • Ärendehantering – registrering, utredning, beslut och avslut enligt en enhetlig process.
  • Fastighetsinformation – uppslag av uppgifter om berörda fastigheter direkt i ärendet.
  • Avtal – upprättande och hantering av till exempel arrende- och köpeavtal.
  • Kommunikation – meddelanden till sökande och andra parter från ärendet.
  • Fakturering – underlag för fakturering skapas som en del av handläggningen.

Teknisk dokumentation

Nedan beskrivs hur applikationen är uppbyggd, vilka API:er den använder och vad som krävs för att driftsätta den. Informationen är härledd ur källkoden och dess konfiguration på GitHub.

Arkitektur

Lösningsarkitektur för myndighetsutövning mark och exploatering: webbappen anropar verksamhets- och master-data-API:er via kommunens API-plattform WSO2, med inloggning via SAML.
Lösningsarkitektur, härledd ur källkodens konfiguration (API-prenumerationer, miljöfiler och funktionsflaggor).

Applikationen består av en webbaserad frontend och en tillhörande backend som utvecklas i samma kodbas (monorepo). Backend förmedlar alla anrop till verksamhetssystemen via kommunens gemensamma API-plattform (WSO2) – frontend pratar aldrig direkt med underliggande system. Inloggning sker med organisationens identitetslösning via SAML (single sign-on).

Applikationen delar kodbas med kommunens övriga ärendehanteringsapplikationer. Mark- och exploateringsinstansen byggs och konfigureras separat, med de API-kopplingar och funktioner som verksamheten behöver.

Teknikstack

  • Körmiljö: Node.js 20 LTS eller senare
  • Frontend: React-baserad webbapplikation
  • Pakethantering: Yarn
  • Test: Vitest (backend, med kodtäckning), Cypress och Playwright (end-to-end)

API-beroenden

Applikationen konsumerar följande API:er via kommunens API-plattform. Versionerna är hämtade ur källkodens API-konfiguration.

API-beroenden för myndighetsutövning mark och exploatering
APIVersionAnvändning
CaseData13.0Kärnan i ärendehanteringen – ärenden, utredning, beslut och status
Contract9.0Avtal, till exempel arrende- och köpeavtal
Estateinfo2.2Fastighetsinformation om berörda fastigheter
Messaging7.10Meddelanden till sökande och andra parter (e-post, sms, digital brevlåda)
BillingPreprocessor4.5Förberedelse av faktureringsunderlag
BillingDataCollector2.1Insamling av faktureringsdata
CaseStatus4.3Statusinformation om ärenden
Relations1.1Relationer mellan ärenden
Templating2.1Mallar för brev, beslut och andra dokument
Company1.0Företagsuppslag
Citizen3.0Uppgifter om invånare
Employee2.0Uppgifter om medarbetare
LegalEntity2.0Uppgifter om organisationer och företag
Party2.1Id-översättning av parter i ärenden
ActiveDirectory2.0Uppslag av användare och behörigheter

Konfiguration och driftsättning

  • Instansen konfigureras med egna miljövariabelfiler för frontend respektive backend.
  • Åtkomst till API-plattformen kräver klientnyckel och klienthemlighet (CLIENT_KEY/CLIENT_SECRET) som utfärdas i WSO2.
  • Inloggning kräver SAML-konfiguration: ingångspunkt till identitetsleverantören samt certifikat och nyckelpar (SAML_ENTRY_SSO, SAML_IDP_PUBLIC_CERT, SAML_PRIVATE_KEY, SAML_PUBLIC_KEY).
  • Funktioner kan slås av och på via funktionsflaggor i frontend-konfigurationen.
  • Applikationen kan köras i utvecklings- och produktionsläge, med produktionsbyggen per verksamhetsinstans.

Källkod

Källkoden är öppen och utvecklas aktivt hos Sundsvalls kommun på GitHub. I källkodsförrådet finns även instruktioner för att klona, konfigurera och starta applikationen i egen miljö.