Visit the site

Visit the site

Organizations Involved

The Movinito is a shipping service company based in Hungary (EU).

Our team developed the Drupal + React intranet system.
The main goal of the app is, of course, to manage all the parcels, but also taking care of all the vehicles, warehouses, financials and employees...

About the project

The company initially worked as service for themselves with small amount of in-house transfers. After the years, other clients saw the benefits of reliable transport and fair price and they started asking for their service.

This was the opportunity to build a system which will bring the same and new features for the in-house jobs of the company but also let the outside cargo services to offer their services.

If you are a shipping service company or just a client who needs to transfer some goods, in Movinito you will be able to:

  • Request the quote for a parcel
  • Add the additional services to a parcel (COD, Insurance, Warehousing)
  • Track the status of the parcel with the comments
  • Manage the vehicles (insurance expiration date, registration, last service)
  • Manage places and warehouses
  • List of all employees and different roles for each job category
  • Use React Native application for drivers and warehouse workers
  • Automatization of labeling system
  • Financial part (Invoices for the service, money transfers protocols with 3rd party companies)

Process and Insights

We are using the GraphQL to connect Drupal with the React. This was our first project where we implemented both backend and frontend test in the CI.

Google Maps integration

Another great feature we are using is the connection with the Google Maps API. We are using it to calculate the distance between two points for an estimation of the price. The price is auto updated after the address is changed. 

The second use of Gmaps is when customers need to find an address. If you point the marker on the map, the system will autofill all the required filed for the delivery address.

Log component

Every change is recorded and everyone can see the history of it.

For example, we are storing changes of the parcel data. If some administrator changes the parcel weight, we will show what was the previous number and new input. With this way, we will prevent unnecessary communication and we have better transparency in the company.

Invoicing

There is a system for generating invoices based on the country of the service provider. The invoices are different in language and in tax percentage.

Stopovers

Every parcel can be delivered directly or with the help of a third party provider. Because of that, we introduced the stopovers. It can be an already existing warehouse or some other services like DHL, or UPS.

Price lists

Every company can upload itโ€™s price lists. The price list is divided into two parts. One is for service itself and another is for additional services. Based on the client inputs, the offers will be listed accordingly by the price and available services.

The service price can be determined by weight, distance, and zones. Additional services are calculated on several parameters like the number of boxes, value... 

React Native application

Every driver and warehouse worker have the application. Itโ€™s working both on Android and iPhone devices.

The administrator (dispatcher) can decide which work is assigned to whom. The driver for example only sees his routes and parcels. Everything is updated in real time so the customers always know what is the status of his parcel.

Outcome

The costs are significantly lower because there is no need to pay 3rd party service for software like this.

Everyday communication and feature upgrades are constant. The system is now tailored to their needs and the way the company operates.

It will be more and more optimizations and improvements in the future. Shipping services are always evolving, it will be a challenging time.

Why Drupal was chosen

We need to manage many different entities and relationships between them.
Our team have more than 10 years experience in Drupal so it was logical to use a known platform.

The CMS part is logical and easy for the client to manipulate the data.

This is decoupled Drupal 8 version with the React and React Native for the frontend part.

Technical Specifications

Drupal version:

Key modules/theme/distribution used:

Why these modules/theme/distribution were chosen

GraphQl: Communication between Drupal and React.

JWT: For React Native app

Redis: Cashing