Redesign & Optimization of the multi-state lending platform covering a full mortgage management and loan management cycle
Redesign & Optimization of the multi-state lending platform covering a full mortgage management and loan management cycle
Purpose / Strategy / Migration to MVC / Layers / Web API / UI / Unit Tests / Net Core
About the product
About the client
Mid America Mortgage, Inc., Addison, Texas, is a multi-state, full-service mortgage lender serving consumers and mortgage originators through its retail, wholesale and correspondent channels. In general, it helps borrowers refinance and purchase residential real estate in the United States. The company was established in 1940. Nowadays, the company has over 500 employees and a yearly revenue of $250 millions.
The customer requested to revisit the current approach to the development of their loan management platform. During the project, NerdySoft developers had to address the following challenges:
The application core of the lending platform was designed and developed ~ 15 years ago.
The business logic, database, and development layers are closely tied, hard to scale, and maintain.
The client heavily depends on validation by many third-party legal instances, like Credit Agencies, Insurance Companies, automated user qualification algorithms, etc.
View and C# code is not separated that block UI interface evolution
Outdated, not responsive and not Mobile-friendly UI
Complicated maintenance process
System is difficult to cover with automated tests (Web form part)
Monolite not modular structure
To streamline the communication with external services the Interfaces module was implemented. Being an integral part of the application the module is of prime concern, as the business relies on it for revenue.
The application core of the lending platform was designed and developed ~ 15 years ago.
The business logic, database, and development layers are closely tied, hard to scale, and maintain.
The client heavily depends on validation by many third-party legal instances, like Credit Agencies, Insurance Companies, automated user qualification algorithms, etc.
View and C# code is not separated that block UI interface evolution
Outdated, not responsive and not Mobile-friendly UI
Complicated maintenance process
System is difficult to cover with automated tests (Web form part)
Monolite not modular structure
Maintenance team scalability challenge
To streamline the communication with external services the Interfaces module was implemented. Being an integral part of the application the module is of prime concern, as the business relies on it for revenue.
Develop test documentation considering all possible inputs and outputs and dependent system behavior (request data mappings, credit scores and their boundaries, services response import, etc).
Define key loan management life cycle states, that require outcome from external services
Unfortunately, the customer decided to put lending platform redesign on hold during the pandemic year and continues to use the old application.
Modern and responsive UI
Testing includes a systematic execution of every business process for loan management from the start through all the transitional steps and to the final business process (or processes), checking that all the data was transferred correctly and the expected outcome happened.
Easy third-party API updates
Easily tested with automated tests
Develop test documentation considering all possible inputs and outputs and dependent system behavior (request data mappings, credit scores and their boundaries, services response import, etc).
Define key loan management life cycle states, that require outcome from external services
Modern and responsive UI
Testing includes a systematic execution of every business process for loan management from the start through all the transitional steps and to the final business process (or processes), checking that all the data was transferred correctly and the expected outcome happened.
Easily tested with automated tests
Easy third-party API updates
Unfortunately, the customer decided to put lending platform redesign on hold during the pandemic year and continues to use the old application.
Based on application architecture analysis it was decided to make the transition from Webforms to MVC Framework.
Layers in the Core part were not changed. All the changes were related to Webforms. We have added architecture layers inside the Webforms part of the project:
The transition was performed module by module. It was possible because both Webforms and MVC Framework are based on ASP.NET technology by Microsoft.
From the backend side: Controllers layer – Models layer – Service layer. Frontend side uses React JS. The business logic that used to be part of the Webforms is now inside the Service layer.
Based on application architecture analysis it was decided to make the transition from Webforms to MVC Framework.
Layers in the Core part were not changed. All the changes were related to Webforms. We have added architecture layers inside the Webforms part of the project:
The transition was performed module by module. It was possible because both Webforms and MVC Framework are based on ASP.NET technology by Microsoft.
From the backend side: Controllers layer – Models layer – Service layer. Frontend side uses React JS. The business logic that used to be part of the Webforms is now inside the Service layer.
Our strategy was to use module development starting with UI and use the modern .Net and UI frameworks :
API-based pattern using Web API
We used ASP.Net Web API controllers splitting out layers in order to meaningfully reduce the mortgage management system complexity and improve the quality and maintainability of the resulting code.
Adding More Unit Tests
One of the main benefits of unit testing is that it makes the coding process more Agile. When you add more and more features to a software, you sometimes need to change old design and code. However, changing already-tested code is both risky and costly. Having unit tests in place will allow us to proceed to refactoring confidently.
Unit testing also improves the quality of the code. Issues are found at an early stage. Unit testing reduces defects in the newly developed features as well as reduces bugs when changing the existing functionality.
NerdySoft optimized the lending platform to serve customers faster and better than competitors and streamline the loan management process.
Our team supports this mortgage management system and helps it to function and adapt to new changes in accordance with changes in the industry.
While each component is performing its function separately, all together they help to reach the goal of the non-stop business processes operations important for the client’s business.
NerdySoft optimized the lending platform to serve customers faster and better than competitors and streamline the loan management process.
Our team supports this mortgage management system and helps it to function and adapt to new changes in accordance with changes in the industry.
While each component is performing its function separately, all together they help to reach the goal of the non-stop business processes operations important for the client’s business.
Error: Contact form not found.