Teknisk logg

Frontend och backend dag för dag — commits, moduler och leveranser från BFF + React/MUI och tjänsterna rtj-management och operaton.

Tre dagar i siffror

Egensotnings-POC:en byggdes färdig under sprinten. Frontend (BFF + React/MUI) och backend (rtj-management + operaton) loggas separat per dag.

17
Commits
~26 400
Rader tillagda
2
Tjänst-repon
2 + 1
Sprintdagar + förberedelser

Grund & infrastruktur

FrontendBFF + React/MUI

Grundplåten på plats — BFF + React-frontend, admin-inloggning och tema.

  • Grundplåt för BFF + frontend

    Initial POC-uppsättning av Express BFF och React/MUI-frontend.

  • Admin-inloggning via SAML

    Mot fejk-SSO-IdP (ersatte tidig Entra-mock) med AD-grupp-allowlist.

  • Admin-dashboard

    Hämtar inloggad användare via Employee 2.0. Wrapper- och profil-dialog-komponenter.

  • Tema

    Ljust/mörkt läge, fonter, knapp-radius och 1080 px-layout.

  • Employee delar API_BASE_URL med Citizen

    Förenkling av konfigurationen.

Backendrtj-management + operaton

Två tjänst-repon initierade med Dockerfile och integrationskontrakt.

  • operaton: POC-stacken in i repot4090b99

    1 786 rader. "add rtj poc stuff".

  • operaton: multistegs-Dockerfile00f1ffc

    Källbaserade Dokploy/CI-byggen, plus .dockerignore.

  • rtj-management: integrationskontraktb22ea5c

    964 rader. Uppfräschat operaton-kontrakt, service-/mapper-enhetstester och multistegs-Dockerfile.

  • Metarepo: docker-compose + underlag

    Lokal stack via compose. Importerade besluts-docx/pdf, statistik-xlsx, .oeflow-flöde och sprint-HTML.

Egensotningsdomänen + automatik

FrontendBFF + React/MUI

MVC-flöde för ärenden, ansökningsformulär och stora API-kontraktslyftet.

  • MVC-flöde för ärenden + engagements

    Inklusive firmatecknare.

  • Ansökningsformulär för medborgare

    Med uppladdning och visning av dokument.

  • Obligatoriska, typade bilagor

    Separata fält för Brandskyddskontroll (BSK) och Utbildningsintyg. Servern taggar category.

  • UUID-check-util + städskript för orphan-ärenden

    Bakåtkompatibel validering.

  • API-kontraktslyft (v2.2)

    Ett-anrops-ansökan (multipart application + filer), process-historik/audit, status-badges och vertikal stepper.

  • Personnummermaskning i BFF

    Fullständigt personnummer exponeras aldrig mot klienten.

  • Dokploy-deploy + härdad nginx-proxy

    Två tjänster. Proxyn resolvar backend per request — frontend 502:ar inte vid uppstart. BACKEND_URL = Dokploys app-namn.

Backendrtj-management + operaton

Verifieringssteg, atomär submit och fröet till LBE-domänen.

  • rtj: automatiska kontroller, auto-godkännande och sotningsobjektc9db3b7

    4 017 rader / 49 filer. De tre verifieringsstegen (bilaga finns, folkbokförd, återansökan) och per-eldstad-objekt.

  • rtj: ett-anrops ansökningsinskickning (multipart)6cd0dd5

    724 rader. Atomär submit som skapar errand + detaljer + sotningsobjekt + sökande-stakeholder + bilagor och startar processen i en transaktion.

  • rtj: första BRANDFARLIG_VARA-modulen7af0721

    2 911 rader / 38 filer. Fröet till LBE-domänen.

  • operaton: egensotning verify-worker + omdesignad BPMN1a01854

    Verifieringsworker kopplad till ny processdesign.

LBE-expansion, beslut/PDF, demo-prep

FrontendBFF + React/MUI

Mock-BankID, redigering, beslutsmallar, händelselogg och 502-tålighet.

  • Mock-BankID med flera testanvändare

    Parallella listor CITIZEN_PERSON_ID / CITIZEN_PERSON_NUMBER. Lösenordsskyddad dialog med personval (visar första 8 tecknen av personId). Namnet hämtas från Citizen 3.0.

  • Uppdatera ärende (medborgare)

    Redigera samtliga uppgifter (utom id/personnummer) så länge ärendet inte är avgjort. Orkestrerar errand, egensotning-details, intressent och sotningsobjekt i ett anrop. Loggas för båda roller.

  • Beslutsmallar via Templating 2.1

    Dialog med förhandsgranskning + fri beslutstext. Besluts-PDF (lagrad vid manuellt beslut, annars renderad on-demand). Mina beslut-vy och inbäddad PDF-visare. Personnummer maskas i PDF:en.

  • Tilldela handläggare

    "Tilldela mig själv" / "ta över ärendet". Status sätts till Pågående vid tilldelning. Spärrat på beslutade/avslagna ärenden.

  • Händelselogg

    Loggar vem som gjort vad (via Notes). Handläggaridentitet döljs för medborgaren, som bara ser sina egna händelser.

  • Beslutsfattning

    Godkänn/Avslå visas endast när ärendet är tilldelat och pågående.

  • Sökandens namn på ärendekortet

    Tydligare identifiering.

  • Graciös 502-hantering

    Tydlig "tjänsten tillfälligt otillgänglig"-felruta med försök-igen-knapp. React Query-retry med backoff mot rtj-flakighet.

  • Manuell granskning neutralt presenterad

    Visas som "Pågående/Behandlas" för medborgaren (orsaken döljs). Handläggaren ser fullständig orsak. Avslöjande alert togs bort på medborgarsidan.

Backendrtj-management + operaton

Stor LBE-expansion, läsbart ärendenummer, mottagningsbevis och demo-reset.

  • rtj: LBE — brandfarlig & explosiv vara + tillståndsmodell (permit)8e53530

    9 926 rader / 109 filer — dagens största leverans.

  • rtj: LBE — remiss, återkallande, anläggningstyp + statusutökningar4740cae

    2 607 rader / 74 filer (v2).

  • rtj: läsbart errandNumber RTJ-<år>-<hex>787f919

    Genereras vid skapande.

  • rtj: egensotning — personnummer-validering + två typade bilagor3d0aa41

    Robust citizen-felhantering.

  • rtj: refaktor av bilagetyp2195487

    sotningsprotokoll → brandskyddskontroll.

  • rtj: mottagningsbevis vid tilldelning1d313c6

    408 rader. Skickas när handläggare tilldelas.

  • rtj: nattlig DB-reset 03:00 för demo589dde3

    Säkrar reproducerbar demo-miljö.

  • operaton: LBE verify-workers + BPMN955ef09

    1 271 rader. Brandfarlig & explosiv vara.

  • operaton: LBE permit-/remiss-/återkalla-workers + BPMN-wiring (v2)0d0d6eb

    805 rader.

  • operaton: nattlig process-reset 03:00c0ad5af

    Speglar DB-resetten.

Vad som tillkom i koden

Nya domänmoduler i rtj-management
permitremissmaintenancetypes/brandfarligvaratypes/explosivvaracore/egensotning (utbyggt)attachmentsdecisionsstatushistorynotifications
Nya operaton-workers
VerifyEgensotningWorkerVerifyBrandfarligVaraWorkerVerifyExplosivVaraWorkerCreatePermitWorkerRtjRevokePermitWorkerRtjCreateRemissWorkerRtjAddErrandDecisionWorkerRtjUpdateErrandWorker
Nya Flyway-migrationer (V5–V12)
brandfarlig_varaegensotning_detailsegensotning_sotningsobjektexplosiv_varapermitegensotning_decision_validityremissanlaggning_typ