Modernization of Construction Material Tracking Software for Industrial Barcode Software Provider
About Our Client
With over three decades in the business, the Client is a prominent US provider of barcode-enabled applications for industrial environments. The Client’s solutions are widely used to improve material traceability, manufacturing efficiency, shipping accuracy, inventory management, and construction operations.
Need to Move From a Third-Party Platform to Custom Code
One of the Client's flagship products is a desktop solution that tracks construction materials using barcodes. This application was initially built on a low-code platform that simplifies development with pre-built components. The Client wanted to make the application independent of a platform by converting the existing functionality into custom code. They also aimed to shift from a desktop to a web-based solution. The transition had to be smooth, minimizing downtime and avoiding disruptions for businesses using the application. Trusting ScienceSoft’s expertise in modernizing complex legacy applications, the Client tasked us with re-architecting the app and translating its existing functionality based on the low-code platform into independent custom code.
Migration to Custom Web App With Modular Architecture
To migrate the app, ScienceSoft formed a team comprising a project manager, a business analyst, three back-end developers, two front-end developers, and two QA engineers.
Initial analysis of the existing application
To prepare an efficient modernization plan, we started by gaining an understanding of the existing app's functionality. Given the absence of complete and up-to-date software documentation, ScienceSoft’s team analyzed the current application and reverse-engineered the key requirements. Furthermore, ScienceSoft’s business analyst conducted extensive workshops with key stakeholders to chart all relevant business processes, including inventory management, order processing, shipment tracking, and reporting, as well as their interrelations. This detailed examination enabled ScienceSoft’s team to accurately re-create the old app's features in the new custom-coded solution.
Moving to a new back end and databases
ScienceSoft's back-end developers chose a Golang-based modular architecture for the server side of the new web application to ensure high scalability, performance, and flexibility for the rapidly growing software product. Leveraging insights from the prior analysis of the legacy app, our developers divided the functionality into individual modules. Each module managed its own business rules and data, covering areas like inventory management, barcode labeling, and shipment tracking.
After successfully separating the functionality, our developers gradually rewrote each feature in Go, ensuring feature parity with the existing implementation. They utilized Go's concurrency features to handle large data volumes effectively. For instance, in the data onboarding module, Go routines processed multiple inventory updates simultaneously, ensuring that high transaction volumes did not hinder performance.
Subsequently, ScienceSoft’s team migrated the PostgreSQL databases from the old deployment to the new and optimized one.
In addition to these efforts, ScienceSoft introduced new features to enhance user experience and system capabilities. We also modified existing features where necessary to align with modern bussiness requirements. Throughout this process, we maintained close collaboration with our Client to validate that all functionalities met their expectations and operated seamlessly.
Creating user interfaces for the new web application
To maintain a consistent UX/UI between the old desktop application based on the low-code platform and the new custom web app, ScienceSoft’s team started by analyzing the existing GUI. We examined key elements such as navigation patterns, color schemes, and interactive features that users were familiar with. Using these insights, we developed the front-end components for the new web application using React.js. This approach allowed us to create modern, responsive interfaces that retained the familiarity and comfort of the legacy system, ensuring users could transition smoothly and quickly to the new application.
Continuous software testing
In parallel with the solution transformation, ScienceSoft’s QA engineers performed manual testing to confirm that the new code matched the old functionality and worked seamlessly. They executed unit tests on individual components, integration tests on data flows between modules, and system tests on the entire solution.
Enhanced App Capabilities and High User Satisfaction
Within a year, the Client successfully transformed its desktop application for construction material tracking into a custom-coded modular web app and launched it. The new Go-based architecture significantly accelerated data processing and retrieval times, enhancing operational efficiency. The new user interfaces, designed to resemble the legacy system, remained intuitive for users, minimizing adoption time and boosting satisfaction. Due to the carefully planned downtimes, businesses experienced a seamless transition to the new software with no disruptions to their operations.
Pleased with the results, the Client chose to continue partnering with ScienceSoft for further support and continuous evolution of the app.