← All projects
Domain-Driven Design

Commercial License Revamp

2025

Decomposed a legacy government licence monolith into a modern microservices target across six DDD bounded contexts on Camunda BPMN/DMN — now the agreed target architecture across engineering.

The problem

The Commercial Licence service had grown into a single deployable unit owning approval workflows, user state, licence issuance, location, invoicing, and a downstream integration (“Salama”). One change broke many surfaces; release cadence had dropped to monthly.

The constraint

A live super-app already routed millions of citizen interactions through it. We could not break the public API contract.

The architecture

Six DDD bounded contexts: Approval, User, Commercial, Location, Invoice, and Salama.

Camunda BPMN/DMN orchestrates the cross-context approval flow; RabbitMQ carries the payment-confirmation event from the Billing System. The observability stack is ELK + Elastic APM + Prometheus / Grafana.

Trade-offs (ADRs)

Outcome

Agreed target architecture across the engineering organisation. Staging cluster sized for 4–8K req/min. Same Camunda-based approach applied to the parallel Building License Revamp.