Myndighetsutövning

Myndighetsutövning – parkeringstillstånd

En webbapplikation för digital handläggning av parkeringstillstånd för rörelsehindrade – från ansökan och utredning till beslut och utfärdat tillstånd.

Om applikationen

Kommunen prövar ansökningar om parkeringstillstånd för rörelsehindrade – ett beslut som är myndighetsutövning och som har stor betydelse i vardagen för den som ansöker. Handläggningen ska vara rättssäker, enhetlig och gå att följa i efterhand.

Applikationen ger handläggarna ett digitalt stöd genom hela processen. Ansökningar registreras som ärenden och följer en standardiserad handläggningsgång: utredning, eventuell komplettering, beslut och – vid bifall – utfärdande av själva tillståndet. Handläggaren har tillgång till uppgifter om den sökande, kan kommunicera direkt från ärendet och använder gemensamma mallar för brev och beslut.

Utfärdade tillstånd registreras digitalt, vilket gör det enkelt att se vilka tillstånd en person har, när de går ut och när det är dags för förnyelse. Strukturerade ansökningsuppgifter kontrolleras automatiskt mot fastställda regler, vilket minskar risken för fel och frigör tid för själva bedömningen.

Det här stödjer applikationen

  • Ärendehantering – registrering, utredning, beslut och avslut enligt en enhetlig process.
  • Tillståndsregister – utfärdade parkeringstillstånd registreras och följs digitalt.
  • Kommunikation – meddelanden till sökande direkt från ärendet.
  • Validering – strukturerade ansökningsuppgifter kontrolleras mot fastställda regler.
  • Beslutsdokument – brev och beslut skapas utifrån gemensamma mallar.

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 parkeringstillstånd: 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. Parkeringstillståndsinstansen 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 parkeringstillstånd
APIVersionAnvändning
CaseData13.0Kärnan i ärendehanteringen – ärenden, utredning, beslut och status
PartyAssets6.5Register över utfärdade tillstånd kopplade till person
JsonSchema1.0Validering av strukturerade ansökningsuppgifter
Messaging7.10Meddelanden till sökande (sms och digital brevlåda; e-post används inte)
CaseStatus4.3Statusinformation om ärenden
Relations1.1Relationer mellan ärenden
Templating2.1Mallar för brev, beslut och andra dokument
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ö.