Order Management System with Rate Engine and Analytics for Logistics Company
Project Goal
The client needed an order management system for tracking and controlling its operational costs and providing a transparent view on the orders’ shipping throughout the entire route. To advance cost management and tracking, the client needed a comprehensive analytics tool that can visualize operational expenses.
In addition, our client required a rate engine to offer its customers multiple options of delivering their orders via different means of transportation and routes. At the same time, the client wanted the solution to be easily scalable in the future.
Solution
To create such a complex software system, we assembled a skilled team of two senior full-stack software developers, one UI/UX designer, and one DevOps engineer. This diverse team worked together to implement the following solutions:
- Google and OpenStreetMap API Integration. To facilitate door-to-door routing and real-time order tracking, we integrated the system with Google Maps and OpenStreetMap via their respective APIs. This integration allowed users to dynamically view routes and track deliveries at any given point in real time, providing a seamless experience for customers and the logistics team.
- Recharts for Data Visualization. Since the client required clear, insightful visualizations of various costs, we incorporated Recharts, a widely used chart library that offers extensive customization and modular components. This solution allowed us to create visually appealing and intuitive charts that made complex data easy to understand, aiding decision-making and cost analysis.
- Power BI Integration for Enhanced Analytics. For the system’s analytics features, we integrated Power BI, Microsoft’s powerful business intelligence tool. Power BI was the perfect fit for delivering advanced analytics, creating detailed reports, and embedding real-time visualizations into the application. This integration empowered the client with the ability to make data-driven decisions using easy-to-understand reports and dashboards.
- Admin Panel Development. Given the system’s need to cater to multiple types of users, it was crucial to create an administration panel to manage access and configure permissions for various user roles. The admin panel streamlined operations, ensuring that each user only interacted with the data relevant to their role. This structure reduced potential confusion and made it easier to maintain the system.
- TMS Integration. A transparent overview of orders and the ability to analyze associated costs necessitated the integration of a Transport Management System (TMS). TMS integration enabled functionalities such as route optimization, freight tracking, carrier management, and order fulfillment, which are critical for efficient delivery and order-tracking operations. This solution not only enhanced transparency but also helped improve overall logistics performance.
- Microservice Architecture. Given the system’s complexity, we adopted a microservice architecture. This allowed us to break the application into independent services, each handling specific business logic, without affecting the entire system. This architecture provided scalability, maintainability, and flexibility. Each service could be developed, deployed, and updated independently, allowing faster feature development and bug fixes without disrupting the entire platform.
- Docker and Kubernetes for Containerization and Orchestration. To ensure efficient deployment and scalability, we containerized all microservices using Docker, which enabled a consistent environment across development, testing, and production. Docker allowed each service to run independently in isolated containers, simplifying the development and deployment processes. Additionally, Kubernetes was employed as the orchestrator for managing and scaling the Docker containers. Kubernetes ensured that the microservices were properly orchestrated, with automatic scaling, load balancing, and self-healing capabilities. This combination of Docker and Kubernetes provided an ideal solution for managing the system’s microservice architecture, improving deployment speed, and ensuring high availability.
- NGINX as a Reverse Proxy. We utilized NGINX as a reverse proxy to efficiently route incoming requests to the appropriate microservice containers. NGINX played a crucial role in improving load balancing and handling client requests while ensuring that the system could handle high traffic volumes. The use of NGINX as a reverse proxy optimized performance and security, providing a seamless and fast user experience.
Results
After two years of productive work, our team introduced to the client a fully custom software solution that improved the company’s cost savings and created a new value for the company’s customers. The software system offers such major advantages as:
- Order management. The company became able to view all orders and their status in real time, even though multiple carriers may be involved. Automated notifications about shipping, picking, and packing reduce manual work and operational time, thereby saving the company’s costs. A centralized view on all orders lets the company adjust its performance to the current demand, identify possible delays, and improve customer satisfaction.
- Rate engine. The customer simply needs to submit the origin and destination addresses and shipment details, including weight, volume, and type like container, package, biohazard protection, etc. The engine shows a list of carriers’ offers, so a user can choose the most suitable one.
- Analytics. A robust data analytics tool enables users to track and visualize their expenses to identify trends and flaws in their business processes. With the help of analytics, the company’s customers can make better decisions that are aligned with their current business needs.
- Additional load on the go. If additional load needs to be added to an order that is already shipping, this feature enables the company’s customers to do this in real time.
- Seamless horizontal scaling. Thanks to microservice architecture, the entire system is easy to scale horizontally. When the company decides to expand the functionality of the system or integrate it with other services, it won’t be necessary to rewrite the code. New features can be added without interfering with the system’s logic.
- Performance stability under high workloads. Our DevOps specialist set up the entire system in a way that automatically increases the system’s computing resources as the workload grows. This means the system can perform effectively even when it’s loaded with a large amount of user requests.
Don’t want to miss anything?
Subscribe to keep your fingers on the tech pulse. Get weekly updates on the newest stories, case studies and tips right in your mailbox.