Case study

thumb
A2B Direct is a logistic B2B marketplace that connects cargo owners (customers) and freight forwarders (carriers). It’s often labeled as “Uber” for cargo transportations on the web.

Project duration:

August 2019 - ongoing

Start project
thumb
Start project
01

Overview

Initially, A2B Direct had a basic functionality that included only a possibility to book forwarders and give them ratings. However, after some testing, it appears that more sophisticated features are required for the platform to work effectively. Limestone Digital was responsible for delivering some parts of the extensive functionality of this platform.
Hours

Hours

3000+
Developers

Developers

13
Months

Months

15

Technology
used:

Java 8
Zookeeper
Zuul
JaxRS
Tombok
02

Challenge

A challenge here was to create a system that would be able to communicate effectively with multiple third-party service providers. Considering the amount of data needed to be processed, it was particularly important to create a system that would be extremely resilient.

Get your project off to a great start

start project
03

Solution

To tackle the challenges, the decision was made to focus on three main areas. First of all, the system needed a great variety of algorithms on the backend to create different scenarios and features. Secondly, it’s needed to create different user roles (customer, carrier, and admin) so that different users can have access to different platform features. And finally, for those features to function, the system needed a durable architecture.

System architecture

thumb

Microservice system for greater stability

The frontend communicates with the API gateway. Which redirects requests to the necessary services.Each service that requires persistent storage has a separate database. Services communicate with each other using a message bus. Inside the system, detailed logging and query tracing is implemented.This data is analyzed for anomalies which allows responding to malfunctions in a timely manner.

Granular role permissions

A2B Direct users can log in to the system as a client, carrier, and admin. Each of those roles has unique abilities to make buyer-seller interaction work effectively.

Customer

On A2B Direct, customers can make transportation orders, participate in tenders, and track their deliveries. The system will try to get the best offer from carriers, close on the intended price.

thumb

Post orders

A customer provides shipment details and the desired price for delivery.
thumb
thumb

Tenders

Once approved, orders will appear in the tender tab to be pursued in an English auction by carriers.

Carriers

Carriers can make bids in the auction and once a certain tender has been won, they can assign a certain transport to fulfill the delivery.

thumb

English auction

Carriers compete in an English auction (ascending dynamic auction) to provide the lowest price possible. A winning bid is highlighted in green.
thumb
thumb

Transports

Forwarders can assign drivers and transport units to particular orders and check locations of those trucks that are currently busy with order fulfillment.
thumb

Indicative price formation

On the backend, the system has sophisticated algorithms for price formation, that takes into account tariffs, auction bids, and many other factors.
thumb

1C API

Since price formation is extremely dynamic, it was important that the system has access to up-to-date data. So every time the management makes certain changes in 1C, those changes will be automatically reflected in the system.

Tarif calculation

The calculation of transport tariffs is based on over 200 various factors, including seasonality, distance, type of cargo and the amount forwarders bid on a reverse auction.

thumb

Transportation

The transportation module needs to provide precise geodata for both carriers and customers. So the system receives data from tachographs and accurately establishes them on Google Maps which is very important for the many platforms features to work effectively.
thumb

Full track loading (FTL)

FTL determines the order in which cargo items are loaded into a track so that they can be later unloaded in the same sequence as the destination points appear.

Transshipment points

For more efficient delivery, the system creates transshipment points where vehicles can exchange cargos with each other.

thumb
thumb

Routing module

If a new delivery request appears while a track is on the go, the system will shift a route so that a new order can be picked up in case a pickup point is within proximity.

What clients say about us

“They understand exactly what I ask of them, but they're also available to hop on the phone call when needed. If they know of a better way to do things, they'll always make suggestions, which we find invaluable.”
photo

PAULINE BROOKS

Director of operations, Toco Warranty

“Their commitment to the success of the project. They are enthusiastic and focused on adhering to coding best practices. Mark has a hands-on approach to ensure his staff are contributing to client expectation, and open to hearing about possible improvements.”
photo

RUAN GROENEWALD

Development Manager, Chase Software

“The project was completed in an almost impossible deadline, helping the client to successfully complete the contract. Limestone Digital was flexible and communicative throughout the process, staying on top of all milestones and objectives.”
photo

JOZEF BACIGÁL

Scrum master, Gamo