Här samlar vi länkar till de öppna källkodsrepon på GitHub som tillsammans bygger upp
helhetslösningen, samt de API:er som lösningen integrerar med.
Webb-appen
Webb-appen ligger i samma gemensamma repo som webb-apparna för generisk ärendehantering.
Repot innehåller flera webb-appar ("drakar") som byggs från en gemensam kodbas, och
parkeringstillstånd är en av dem - den aktiveras genom att appen byggs med konfigurationen
PT. Frontend är byggd med Next.js/React och backend i Node.js/Express.
Backend sköter inloggning via SAML mot kommunens identitetsleverantör (IdP) och all
kommunikation med de underliggande API:erna via kommunens API-gateway (WSO2), där
applikationen autentiserar sig med OAuth2 (client key/secret).
Till skillnad från de webb-appar i repot som bygger på SupportManagement (generisk
ärendehantering) bygger parkeringstillstånd på CaseData - ett kärn-API för
myndighetsutövning - och en processmotor (Camunda) som driver ärendet genom processens
fastställda steg. Vilka API-versioner webb-appen förväntar sig framgår av README-filen i
webb-appens repo (tabellen för PT).
Översikt över hur webb-appen, kärn-API:erna, processmotorn, master-data och externa
system hänger ihop. Pilarna visar anrop. Bilden är härledd från webb-appen, API-listan
och respektive API:s beskrivning av vad det i sin tur anropar.
Lösningsarkitektur — från webb-app via kärn-API:er till processmotor, master-data och externa system.
API:er som lösningen integrerar med
Webb-appen anropar ett antal API:er via API-gatewayn. Navet är CaseData,
som lagrar ärenden, intressenter, utredningar och beslut, medan processmotorn
pw-parking-permit (byggd på Camunda) driver ärendet genom processens
steg. De flesta API:er finns som öppna repon på Sundsvalls kommuns GitHub. Tabellen
nedan beskriver vad varje API gör och länkar till källkoden.
API
Typ
Beskrivning
Källkod
CaseData
Kärn-API
Navet i lösningen – lagrar och hanterar myndighetsärenden med intressenter, bilagor, utredningar, beslut, anteckningar och full ärendehistorik.
Integrerar mot processmotorn Camunda och driver parkeringstillståndsprocesserna – innehåller processdefinitioner och affärslogik som uppdaterar ärendena i CaseData.
Följande API:er hanterar kommun-specifik master-data och har därför inget publikt repo.
För att få dessa på plats krävs en utvecklingsinsats anpassad efter den egna kommunens
källsystem.
API
Beskrivning
Citizen
Medborgarinformation – uppslag och grunddata om privatpersoner, till exempel folkbokföringsadress.
ActiveDirectory
Användar- och behörighetsinformation från katalogtjänsten.
Employee
Medarbetarinformation, till exempel uppgifter om handläggare.
LegalEntity
Information om organisationer och juridiska personer.