The Reinvention of Automated Orders Processing
- #Data science
- #Web development
About the Client
The company offers custom-cut metal sheets, tubes, and bent products according to customers’ own designs.
Business Challenge
The client has a desktop application where their customers can upload their own drawings and request a quotation for the product. Within 48 hours a CAD program will check the designs on viability. If the drawings are non-compliance with the requirements for the machine, the program will return them to the user. These lead to the following frustrations:
- The application is not flexible and can’t be adopted to improve production equipment possibilities. As a result, the decision should be checked manually by people.
- The existing software does not explain the rejection reason to the user and after resubmission checks the viability of designs once again. Thus, the process of ordering bending services for customers may take an indefinite time.
The client approached us with a request to develop an easy to use solution that would optimize the process of design validation for the bending services, which will allow reducing the waiting time for drawings check from 48 hours to a few minutes and improve the basic workflow for clients. The current load of the system was more than 75 requests per office hour.
Solution Overview
During the analysis of the existing infrastructure and business processes of the client, we came up with three options for the future solution:
- Develop a new system for automatic verification of drawings for viability
- Rebuild an existing program
- Integrate a rule checking system into the existing program.
Taking into account the wishes of the client, it was decided to go with the option to integrate a rule checker into the existing system. The rule check would immediately process the request from the user and return JSON with the result to the client’s program.
As a result, the number of false refusals of the CAD program has been significantly reduced. This allowed the client to unload bending machines from an extra queue, as well as improve the user experience of interacting with the company.
Project Description
Since we learned how the ordering process works through a customer application, we have created a minimum viable product to check the viability of the hypothesis and to start the development of the entire project. The resulting system consists of the current software and the new service for drawings checking, i.e.:
- The program is performing all the functions as it did
- Rulers checker is performing drawing submission rules check, visualizing the result and returning it to the program as well as to any other software by using industry-standard file formats for CAD data exchange DXF
The service that we have developed works the following way. Users upload their drawings to the desktop application. Then, the app sends the DXF file and a specific set of parameters for it, like metal thickness, material, machine tolerances, etc. to the web service, which processes this information and checks the general submission rules for bending drawings. After reviewing the service generates JSON with check results for each design and sends it to the customer’s program through API.
An important requirement of the client was to deploy the solution within the Microsoft ecosystem because all their IT-infrastructure is built on their services. We optimized the rule checker to fit the Windows environment and integrated it into the current client’s architecture.
Let's discuss your idea!
Technological Details
The solution was created mainly with Python. The architecture of the web-service was built with the Django framework. To implement the project we also used GeoPandas library to process the DXF files and Docker platform for local development.