— Case study · Municipal management

TRAZA: case-file and procedure management for municipalities

TRAZA is a web system for municipal front desks. Each type of procedure has its own workflow drawn in BPMN, with one lane per department, and every case file moves through it with role-based permissions and a history of who moved it, when and why.

TRAZA — BPMN workflow view with one lane per municipal department

The problem

In a municipality, each request, complaint or claim follows its own route between departments, and that route often lives in the head of whoever staffs the front desk. When a resident asks about their case, it is hard to know which department has it and who is handling it. TRAZA draws the route once and makes every case file follow it.

What it does

  • Visual workflow editor

    Workflows are drawn in BPMN with one lane per department and can be downloaded as a .bpmn file or a PNG image.

  • Each case file with its own diagram

    When it is created, a case file copies the current workflow: if the template changes later, it keeps the route it actually followed. The current step is highlighted in the colour of its status.

  • Moves require a reason

    Changing step or status requires a reason and confirmation. Closing a file also requires a reason, and only an administrator can reopen it.

  • History and notes

    Every move is recorded with user, date, step, status and reason.

  • Role-based inbox

    A paginated, searchable list. Each user sees what concerns them and can export it to Excel.

  • Roles

    Administrator, department lead, collaborator and resident. A department lead moves a case file when their department owns the step; residents only see their own.

  • Catalogues and users

    Departments, procedure types and subtypes, users with their department and role, and a built-in user manual.

TRAZA — case file with its step, its status and the workflow diagram

How it is built

  • Angular 18 front end with PrimeNG, and bpmn-js to draw and display the diagrams.
  • Java 17 back end with Spring Boot 3.5, Spring Security with JWT and Spring Data MongoDB.
  • Each role’s scope is applied in the database query, not by filtering results afterwards.
  • Concurrency control: if someone else saved the case file first, a change does not overwrite it.
  • A limit on sign-in attempts, private storage for each case file’s image and Excel export with Apache POI.
  • Docker containers for the API, the web app and the database.

Status and authorship

TRAZA is the team’s own project, with no client. It started in late 2024 and its demo has been online since October 2026, with fictitious departments and users. It does not execute the diagram’s conditions by itself: control comes from permissions, the mandatory reason and the history.

Need a similar system?

Tell us which process you want to organise, whether you already use a system and when you need it.

Contact us