Warehouse management software

Modernization of a logistics software platform for warehouse management used by small and medium sized businesses and hospitals. In this project, I contributed to the gradual migration of a monolithic codebase to a DDD and CQRS architecture, the redevelopment of Windows based scanners to Android using .NET MAUI, and the implementation of a license server for controlled device usage.

Warehouse management software.png

Project info

Start
November 2022
End
November 2023
Complexity
6 / 10
[[Team size]]
10
Type
Mobile app
[[Stack]]
C# Javascript TypeScript HTML & CSS SQL xUnit / NUnit .NET MAUI Entity Framework Core GIT Scrum DevOps

About the Project

Boxwise provides logistics software solutions for warehouse management, serving small and medium sized businesses as well as hospitals. Within this project, I contributed to the maintenance and further development of the platform.

The existing application largely consisted of a sizable monolithic codebase. The team decided to modernize it gradually towards an architecture based on Domain Driven Design and CQRS. This transition took place alongside the ongoing day to day development of the product.

In addition, the handheld scanner applications were still running on outdated Windows based devices. These were gradually rewritten for Android scanners.


My Role

Within the team, I contributed to both the modernization of the backend and the renewal of the handheld scanner applications. We worked in two teams of five developers on the same product.

A key part of my work involved gradually migrating legacy code to a new DDD and CQRS based architecture. Functionality was isolated step by step, redesigned, and reimplemented within clearly defined domains. This required careful refactoring without disrupting existing production processes.

I also contributed to rebuilding the handheld scanner applications. Originally running on Windows based scanners, they were redeveloped for Android devices using .NET MAUI. This involved redesigning the user interface, optimizing scanning workflows, and ensuring performance and stability on mobile hardware.

In addition, I helped develop a new license server. This server controls how many scanners can be used simultaneously based on the customer’s subscription, preventing clients from using more devices than contractually allowed.


Reflection

This project gave me hands on experience in modernizing existing software within a production environment. Migrating legacy code to a more structured architecture requires discipline and insight, especially when the application is used daily in operational processes.

Working on both backend architecture and mobile scanning applications made the role technically diverse and provided valuable experience in combining domain logic with hardware oriented software.


Note: Due to the nature of the system and the sensitivity of the underlying data, I am limited in what I can publicly share. Therefore, this website does not include screenshots, code examples, or detailed technical documentation related to this project.