Aplikacja do zarządzania transportem morskim

Jeden z naszych klientów z branży logistycznej poprosił nas o wsparcie w stworzeniu aplikacji wspomagającej zarządzanie transportem morskim. Aplikacja umożliwia szczegółową konfigurację ładunków, dobór odpowiednich statków na transport oraz ustalenie najlepszej trasy oraz miejsc załadunku i rozładunku w celu optymalizacji dostaw towarowych. 

Naszym zadaniem było utworzenie aplikacji przy wykorzystaniu Java 8 wraz z Spring Boot, która pozwala na równoległe przetwarzanie obliczeń wykorzystywanych do ustalenia optymalnej trasy oraz portów wykorzystywanych przy dostawie towaru. Przy obliczeniu optymalnej trasy użytkownik będzie miał możliwość porównania wyników dla różnych scenariuszy (LIKELY, OPTIMISTIC, PESSIMISTIC). W każdym scenariuszu brane są pod uwagę również permutacje obecnych warunków – np. możemy obliczyć czasy dostawy pomiędzy punktem A i B przy założeniu różnych warunków atmosferycznych, które znacząco mogą wpływać na czas oraz bezpieczeństwo danej dostawy.

Wszelkie kombinacje możliwych permutacji są przetwarzane za pomocą Spark.

Frontend aplikacji jest zbudowany w oparciu o Angular.

Wykorzystane technologie

Java
Data scientist
Python
R

Sea transport management application

One of our clients from the logistics industry asked us for support in creating an application supporting the management of sea transport. The application enables detailed configuration of cargoes, selection of appropriate ships for transport and determination of the best route and places of loading and unloading in order to optimize cargo deliveries.

Our task was to create an application using Java 8 with Spring Boot, which allows for parallel processing of calculations used to determine the optimal route and ports used for the delivery of goods. When calculating the optimal route, the user will be able to compare the results for different scenarios (LIKELY, OPTIMISTIC, PESSIMISTIC). In each scenario, permutations of the current conditions are also taken into account - e.g. we can calculate delivery times between points A and B assuming different weather conditions that can significantly affect the time and security of a given delivery.

All combinations of possible permutations are processed using Spark.

The application frontend is built on the basis of Angular.

Used technologies

Java
Data scientist
Python
R