Modernization of Logistic Order Management Platform

We are working on the comprehensive modernization of the logistic order management platform, which handles sea, land, and air transport. This includes integrating new parcel services, enhancing warehouse space management, automating address-matching mechanisms, and enabling the scheduling of pickup and delivery for shipments.

Through to the completed projects, we have helped our client to nearly triple the number of logistic orders processed over the past four years. In 2020, the average monthly number of orders was around 600,000, whereas in 2024, it rose to approximately 1.77 million per month.

Java, Kotlin, Spring Boot, Spring WebFlux, Spring Cloud Gateway, Spring Security, OAuth2, Hibernate, Kafka, JMS, IBM MQ, AWS, Kubernetes, Docker, Redis, Testcontainers, PostgreSQL, Angular, Angular Material, Micro-Frontend, RxJS, NgRx, Mockito, Karma, Jasmine, Jest
Logistics
Since 2019
Modernization of Logistic Order Management Platform blank

j-labs has been the technological partner of the client since 2019. We provide highly specialized engineering teams focused on backend (Java/Kotlin), frontend (Angular), and QA. The above-mentioned projects are carried out within a single Tribe by 4 cross-functional teams, including:

  • 2x Team Leader
  • 12x Backend Developer
  • 7x Frontend Developer
  • QA

The j‑labs team, in collaboration with our client employees, has developed numerous innovative solutions. The high quality of the delivered projects and close collaboration with the client have resulted in positive feedback and longterm cooperation that continues to this day.

Logistic Order Management

Project

The Logistic Order Management Platform handles the transportation of goods and packages between any locations. We support three types of transport: sea, land, and air. We offer two types of order options:

  • Contract orders – for contract clients, with prices set in the contract and invoicing.
  • Spot orders – for occasional clients, with prices calculated based on the type of goods/package and the selected transport.

Tech stack

Java 17, Kotlin, AWS, Spring Boot, WebFlux, Kubernetes, Hibernate, Mockito, Docker, PostgreSQL, Angular 16/17, Angular Material, Karma, Jasmine, Jest, RxJS, NgRx, micro-frontend

Task

Modernization of the legacy Logistic Order Management Platform.

Implementation

  • Split the monolithic part of the legacy system into a microservices architecture and migrate Java to version 17, introducing Kotlin.
  • Rewrite the old monolithic AngularJS to a micro frontend architecture using Angular 16.
  • Create reusable components to support existing functionalities, speeding up the deployment of new features and eliminating unnecessary code.
  • Provide an asynchronous API and ensure resilience in case of database unresponsiveness to process all booking data.
  • Implement new insurance options for specific markets and the transport of new types of goods, such as hazardous materials.

Parcel Integrator

Project

A “parcel” refers to a shipment or package prepared for shipping or delivery, with a separate address label. The client previously used the 3rd party courier system to handle “Parcel” shipments, which generated significant costs. To increase profits from courier services and become independent from external providers, we developed the “Parcel Integrator.”

Tech stack

Java 17, JMS, Spring Boot, WebFlux, Angular 16, AWS, Kafka

Task

Developing a user interface and API to enable users to access various parcel services via client’s Logistics Order Management system.

Implementation

  • Integration with Parcel Service Providers.
  • Developing an API to handle shipment statuses, parcel location tracking, and easy integration with additional parcel companies.
  • Implementing a service at an expert level, using hexagonal architecture and a reactive microservice (WebFlux).

Smart Warehouse

Project

The goal of this project was to develop a comprehensive solution for warehouse space management and to design and implement a service that simplifies the exchange of goods, including transport pallets.

Initially, the system was created for internal use by client employees to optimize logistics and warehousing processes. Later, the services were extended to our client’s customers, offering them an easy and intuitive platform for booking warehouse space.

Tech stack

Java 17, Kotlin, AWS, Spring Boot, Kubernetes, Hibernate, Docker, PostgreSQL, Angular 17, micro-frontend

Task

  • Design and build a warehouse space management tool.
  • Develop a new dashboard for tracking warehouse free space statistics.
  • Adapt the service for external use by our client’s customers.
  • Create a form to inquire about available warehouse space for specific time ranges.

Implementation

  • Transforming the warehouse service architecture from a monolith to microservices and micro-frontends.
  • Introduction of new functionalities to simplify warehouse space management.
  • Customized views and interfaces for our client’s customers.
  • Adding the ability to export warehouse information as a one-page PDF file.
  • Enabling real-time updates for available warehouse space.
  • Development of a “Dashboard” tab to display statistics by cluster, region, country, and warehouse, along with visualizing warehouse space types on a timeline.

Address Matching

Project

A project focused on the improvement of automatic address matching. The aim is to automate the process of managing a vast number of addresses (currently over 40 million) and significantly reduce the amount of manual work for administrators.

Tech stack

Kotlin, Spring Boot, Spring Webflux, Kafka, PostgreSQL, Testcontainers

Task

  • Modernize and improve the address management system.
  • Automate address matching.

Implementation

  • Importing addresses from the previous system and data cleansing (e.g. removing test data, duplicates, etc.).
  • Ensuring asynchronous address processing.
  • Developing an algorithm to identify similar addresses and utilizing it for efficient address management.

High Traffic & Security

Project

The main challenge of this project was to ensure high levels of security and efficient communication between microservices. Due to the large number of requests, the system must ensure fast operation, stability, and security.

Tech stack

Java 17, Spring Boot, WebFlux, Spring, Cloud Gateway, Spring Security, OAuth2, AWS, Kafka, Redis, Kubernetes

Task

  • Handle high traffic load.
  • Ensure adequate system security.

Implementation

  • Implementing multi-factor authentication.
  • Creating a root certificate rotation mechanism.
  • Adding inter-cluster communication to enforce client-selected data flow restriction.

Undelivered Package

Project

This project aims to enable clients to schedule pickup or delivery of a shipment at a selected time when the shipment was not picked up or delivered due to unforeseen circumstances. Alternatively, the system notifies clients about the next attempt for delivery or pickup.

Tech stack

Kotlin, Kafka, Spring

Task

Develop a new module in the application that allows clients to schedule shipment pickup on a chosen day and time (written in Kotlin).

Implementation

  • The change was implemented via two microservices, which handle:
    • A case where scheduling is not possible, handled by a microservice informing about land transport shipment statuses.
    • A case where scheduling is possible, handled by another microservice.
  • Both microservices listen on the same Kafka topic and process messages based on the data contained inside.

Shipment Events Tracker

Project

This project aimed to rewrite and improve the application used to track shipments, retrieve documents, and register new events related to shipments.

Tech stack

Kotlin, Spring WebFlux, IBM MQ

Task

Modernize the legacy application, written over 20 years ago, requiring a complete redesign.

Implementation

  • Implementation of an entirely new backend written in Kotlin using reactive stack (Spring WebFlux) with coroutines (concurrency pattern) for creating asynchronous, non-blocking operations.
  • Implemented asynchronous connections and sessions for requests to minimize response time.

Present us with a challenge
and tell us about a project you wish to develop

Write to us about what you need and we will get back to you within 48 hours to discuss collaboration. Fill out the form or send an email to j-labs@j-labs.pl.

Work with specialists who deliver the best possible product

Contact us