Projects with the use of Event Sourcing

To see all projects, clear the filter

cLean – Debt Collection Software

Period: 03/2020 – 04/2023
Role: Software Developer
Client: Lowell
Team size: 3
Person days: 280

With the cLean project, Lowell pursued the development of a unified debt collection software for all group companies. All claims of the DACH organization were to be processed as automatically as possible in a highly available system. A key focus was determining the possible scalability of the system at certain times when large volumes of claims had to be imported. C# was the primary programming language, but individual services were implemented in Kotlin and Go.

My contributions to the project::
  • Architecture of the microservices system
  • Defining service boundaries along business domain lines (DDD)
  • Partitioning data into aggregates
  • Concept and design of a case reference number readable by both humans and machines
  • Concept for an immutable accounting system using Event Sourcing
  • Concept and implementation of the accounting component in compliance with business rules
  • Research into settlement logic in Germany and Austria
  • Implementation of business logic
  • Realization of search queries across distributed systems (separate service using CQRS)
  • Cross-team coaching, training, and support

Case and Process Window

Period: 04/2015 – 03/2016
Role: Software Developer
Client: Ferber-Software GmbH
Team size: 5
Person days: 180

Greenfield development of the central workspace of the debt collection software (IKAROS V4). The project encompassed the redesign of the case and process window to display complex case information in a clear and performant way. By using Event Sourcing, a modern and auditable data storage approach was realised for the processing steps. The efficient loading of events required optimised data loading logic.

My contributions to the project::
  • Implementation of the process window view
  • Implementation of the business logic for displaying processes
  • Calling and displaying values from the claim calculation and claim statement
  • Performance optimization of data queries through highly efficient SQL queries (bypassing NHibernate to maximize loading speed)
  • Ensuring functionality through automated tests (unit tests)