- Software modernization
- Cloud solutions
- Backend
- Frontend
- Real Time Solution
- Legacy System Modernization
Refactoring and modernization of legacy software for a freight forwarder with a global client base. Enhancing this web-based transportation management system with new capabilities and its subsequent maintenance.
client
A global transportation management solution provider with a vast portfolio of shipping services
- North America
- 100+ employees
A freight forwarding solution provider that has been uniting shippers worldwide with the most reliable carriers since the 1990s. They offer shipping by land, air, and sea for individuals and businesses, along with freight insurance and tracking solutions, via a web-based transportation management platform.
request background
Several TMS software development vendors — one issue: Poor code quality and low development speed
The client’s request boiled down to upgrading their TMS (transportation management system). This implied modernization of their platform with the subsequent development of new features and maintenance. They reached out to us after their previous vendors could not deliver the expected quality within the agreed timeframe.
Despite all the benefits of transport management system development outsourcing, the first vendor wasn’t able to deliver high-quality code. Bugs cropped up here and there, affecting the development pace and communication. The situation didn’t improve after handing the project over to another transport management solution development team — the rest of the vendors were trapped in the same issue.
Eventually, as a software development provider with a rich portfolio of fleet tracking and shipping management software solutions, we got the project.
challenge
Poor development practices atop legacy code of the transport management software system
A thorough audit of the freight forwarder’s platform revealed an array of serious tasks. Most of them stemmed from the poor software development practices of the previous vendors. Here are a few examples:
1. They didn’t take the overall architectural logic of the solution into account when implementing new features. This made the freight forwarding software system unstable.
2. When writing PHP code, they didn’t enable the OPCache library. As a result, adding an additional carrier to the freight transportation management system exhausted its capacity: the production environment response time was very high, and the 504 Gateway Timeout Error wasn’t uncommon.
3. Data desynchronization due to two databases and two backend services. The latter is considered a software development best practice (Netflix designed its system this way). However, the previous vendors put much business logic into the Node.js-based backend, leading to the desync. The fact that the freight forwarder's system stored enormous volumes of data — over 10 billion records in total — made things even more complicated.
On top of that, the freight management solution had lots of legacy code that required refactoring.
solution
From a buggy freight management software system with limited scalability to a fast, stable solution enhanced with new TMS features in three months
- PHP, Node.js, React.js, ElasticSearch
- 3 months
- 1-3 specialists
First, we mapped out the business side of our transportation management platform development process. Together with the client, we settled on a single protocol for communication between our teams, the level of the client’s involvement in the project, and the code deployment procedure.
The acquired reliability of our freight forwarding management system served as the foundation for the following enhancements, like developing dynamic rights-restricted income calculation and reporting.
Additionally, we integrated the client’s freight transportation management system with a zip code database (instead of the costly Google API), as well as solutions for cargo insurance, supply chain management, A/B testing, and customer analysis. On top of that, we moved the client’s TMS platform from an external hosting to AWS and slightly redesigned its frontend. As a result, shippers worldwide can enjoy all the advantages of the transport management system safely.
- Migrated from MS SQL to MySQL as part of code modernization. MS SQL was that very legacy component that hindered the implementation of new features.
- Updated PHP to the latest version and set up the OPCache library. This gave our freight management system the needed stability, allowing us to add a new carrier without compromising solution performance.
- Fixed the data desync issue. This became possible thanks to reindexing the ElasticSearch database and developing a separate service responsible for keeping data consistent. The service can be launched both manually and automatically.
outcome
Significant savings and a considerable increase in the number of shippers using the client’s freight logistics software
- Thanks to the migration from the Google API to the in-house database with zipcodes, the client now saves over $5K monthly.
- Due to moving the client’s transportation management software system to the AWS hosting, they save around $10K yearly.
- The integration of Google Analytics for user behavior analysis and A/B testing has unlocked the potential for customer-oriented development of the product.
- Сode optimization has made this freight software solution stable and much faster.
- Reindexing the ElasticSearch database has improved the speed of data access.
- Due to the enhancements implemented by our team, the client’s customer base has increased significantly: over 1 billion shippers can now enjoy the benefits of this transportation management system.