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
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 | Version | Användning |
|---|---|---|
| CaseData | 13.0 | Kärnan i ärendehanteringen – ärenden, utredning, beslut och status |
| PartyAssets | 6.5 | Register över utfärdade tillstånd kopplade till person |
| JsonSchema | 1.0 | Validering av strukturerade ansökningsuppgifter |
| Messaging | 7.10 | Meddelanden till sökande (sms och digital brevlåda; e-post används inte) |
| CaseStatus | 4.3 | Statusinformation om ärenden |
| Relations | 1.1 | Relationer mellan ärenden |
| Templating | 2.1 | Mallar för brev, beslut och andra dokument |
| 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ö.