All work

Case study 02 · Brownfield Modernization / Enterprise Systems · 2017 – 2024

Enterprise Platform Modernization

Contributed to the development and modernization of an enterprise municipal software platform containing more than ten interconnected subsystems.

Domain
Municipal automation
Role
Senior developer & team lead
Type
Brownfield modernization
Stack
.NET · SQL Server · PostgreSQL

Challenge

A municipal platform of 10+ interconnected subsystems (workflows, WebGIS, reporting, digital files, signatures) needed a modern .NET stack.

Key decision

Migrate subsystem by subsystem instead of rewriting, keeping shared data and integrations stable while code changed.

Result

Five related subsystems moved from .NET Framework to .NET 7, alongside five complex subsystems developed within the platform.

From my work before founding ArtaPattern. Client names and confidential details are left out, and diagrams are conceptual.

01 / Project overview

Modernizing a platform that cannot stop

A municipal automation platform covering workflows, WebGIS, reporting, digital file management and digital signatures, made of more than ten interconnected subsystems. Development and modernization had to happen while the platform stayed in daily use.

02 / Engineering context

Engineering context

Over seven years I led development and technical delivery on the platform, coordinating development, support and stakeholder requirements, and delivered related products including a municipal services portal and building-violation commission software.

C4 · Context · conceptual
Municipal staffpeople
Municipal automation platform10+ subsystems
Citizens' portalonline services
Conceptual, non-confidential representation.
03 / Problem & constraints

Problem & constraints

  • More than ten subsystems shared data and workflows, so changes in one could affect others.
  • The platform was in daily use; modernization had to be incremental.
  • Spatial data and reporting depended on SQL Server and PostgreSQL staying in sync.
04 / Architecture approach

Incremental, subsystem-by-subsystem migration

Five related subsystems were moved from .NET Framework to .NET 7 one at a time, keeping shared data and integrations working throughout. Database work focused on optimizing SQL Server stored procedures, triggers and spatial queries and maintaining synchronization with PostgreSQL.

Modernization roadmap · conceptual
Subsystem.NET Framework
shared platform
Workflowsshared
Reportingshared
SQL Serverprimary data
PostgreSQLsynchronized
Subsystem.NET 7
Dashed: migration path. Conceptual, non-confidential representation.
05 / Key engineering decisions

Key engineering decisions

DECISION 01

Migrate incrementally, not in one rewrite

Each subsystem moved separately while the rest of the platform kept running.

DECISION 02

Keep shared data stable during migration

Database contracts and synchronization stayed in place while application code changed.

DECISION 03

Optimize at the database where it matters

Stored procedures, triggers and spatial queries were tuned directly in SQL Server.

06 / Implementation & delivery

Implementation & delivery

  1. 01

    Assess

    Subsystem dependencies.

  2. 02

    Migrate

    One subsystem at a time.

  3. 03

    Optimize

    SQL Server and spatial queries.

  4. 04

    Support

    Stakeholders and operations.

07 / Technologies
  • C#
  • .NET Framework
  • .NET 7
  • SQL Server
  • PostgreSQL
  • WebGIS
  • Digital Signatures
  • Reporting