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
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 | Version | Användning |
|---|---|---|
| CaseData | 13.0 | Kärnan i ärendehanteringen – ärenden, utredning, beslut och status |
| Contract | 9.0 | Avtal, till exempel arrende- och köpeavtal |
| Estateinfo | 2.2 | Fastighetsinformation om berörda fastigheter |
| Messaging | 7.10 | Meddelanden till sökande och andra parter (e-post, sms, digital brevlåda) |
| BillingPreprocessor | 4.5 | Förberedelse av faktureringsunderlag |
| BillingDataCollector | 2.1 | Insamling av faktureringsdata |
| CaseStatus | 4.3 | Statusinformation om ärenden |
| Relations | 1.1 | Relationer mellan ärenden |
| Templating | 2.1 | Mallar för brev, beslut och andra dokument |
| Company | 1.0 | Företagsuppslag |
| Citizen | 3.0 | Uppgifter om invånare |
| Employee | 2.0 | Uppgifter om medarbetare |
| LegalEntity | 2.0 | Uppgifter om organisationer och företag |
| Party | 2.1 | Id-översättning av parter i ärenden |
| ActiveDirectory | 2.0 | Uppslag 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ö.