Revamped the digital experience of a Non-Banking Finance Corporation.
This is done byrestructuring and improving the legacy code so that it
functions well and can easilyupdate to trending new features.


Our client has deep rooted presence in the countries where ingredients are available and is involved at every stage of their supply chains. Our client supplies products and ingredients at scale.

When sales orders are processed in a sub-optimal way it can lead to errors, additional costs and poor relationship with customers. So our client was looking at automating the Sales Order Process. He needs an order management tool to streamline orders from initial acceptance, through order approval, invoice generation, inventory control and to final delivery.

The Client

Our Client is a Non-Banking Finance Corporation who provides financial solutions to semi-urban and rural Indian population.

The Challenge

With their ever growing customer base (150,000+) and their foot print spanning all over south India, our client was in need of an equally competent technology driven digital solution. Our client had also expanded his business to various customised lending products and wants an end-to-end digital approach to support this.

But new development was becoming difficult on their legacy code. Our client realised that refactoring provides a way forward and partnered with Coherent to optimise their digital solution.

The Solution

At Coherent, our prime focus is to improve the quality of code. Our aim is to develop a better built, well-structured, more readable code by making it easy to add new features and to spot and fix defects. For this we had a systematic approach by thoroughly examining their legacy code and prioritizing on the most essential modules first.

There were plenty of challenges with refactoring, especially because there's a big backlog. We had to get on top of it and create a workflow.

We strongly believe that, refactoring is not just about changing code, but changing inefficient code to add value.

For refactoring, we started from bottom, by addressing and clearing the code at the lower level first and slowly worked our way up. Further, we needed metrics to qualify the efficacy of code refactoring. So, we ran both unit and functional tests after each step. Testing ensures that no errors are introduced while restructuring the code, but the code is improved predictably and safely.We followed strict coding guidelines for refactoring.

With refactoring, we achieved the following improvements:

Key Features Include

  • Clean and standardized code
  • Reduced complexity authorization
  • Organised data
  • Modular and easily understandable code
  • Uses less memory and performs faster

The Effect

    In addition to having a cleaner and less complicated code, refactored code also provided :

  • Easy to maintain source code.
  • Enhanced performance.
  • Improved scalability.
  • Greater security in the applications.

Technologies used

  • Angular
  • Springboot Microservices
  • Core Java
  • MySQL
  • Azure cloud services

Previous Case Study
Next Case Study