Belt-drive systems engineering toolkit for desktop, web, and mobile devices
Tags: webdev, programming, dotnet, computerscience
Published: 2023-06-27 10:34:20

This post is a short overview of an Abto Sofware’s [R&D project](https://www.abtosoftware.com/portfolio/belt-drive-systems-engineering-toolkit).

In scope of our R&D project, **primarily focused around modernizing mathematically complex legacy solutions,** our company was involved in a long-term cooperation with a leading manufacturer in the machinery industry.

Our engineers were contracted to migrate outdated technologies (VBA, VB6, and LISP) to the .NET framework. After conversion, our team has assisted the client with implementing cross-platform applications and adding additional functionality to facilitate business productivity.

## Brief overview

At the first stages of the complex project, we focused on fixing major issues:

- The inefficiency of the legacy product, which caused:
a. Corruption risks
b. Customer support deterioration risks
- The utilization of the no longer supported technology (VB 6) which caused:
a. Operational risks
b. Intermittent crashes and vulnerabilities 
- Complicated troubleshooting and maintenance due to the utilization of VBA 
- Costly licenses due to the utilization of Matlab and AutoCAD

At the next stages, as the outdated parts were migrated to the .NET 6, we moved on to:

- Cross-platform development
- Additional functionality

## Our solution

The product is a desktop application, which encompasses multiple modules for accelerated belt-drive design. This application is built based on C# .NET 6 WPF along with MVVM architecture.

The platform is designed to serve the client’s internal needs:

- All modules are supporting the specification and engineering of sophisticated belt-drive systems distributed across major sectors, including agriculture, automotive, construction, and others
- 2 modules are also available publicly and can be accessed by customers to perform own calculations and order custom-built solutions precisely tailored to their specific needs

The toolkit also provides:

- Design guidance
- Product and pricing catalog, which are synchronized automatically
- Project and design creation
- Derivatives creation
- Design calculations (geometry properties, belt life, shaft load, and other essential details)
- Report creation and export

Along with additional features:

- User and permission management
- Version control
- Automatic updates
- Automatic backups 

## The modernization of outdated legacy apps: Our contribution

During the modernization project, our engineers have covered:

**- Initial discovery, business analysis, and consulting**
**- Legacy modernization** (in-depth analysis, roadmap creation, code migration, quality assurance)
**- Software development**
**- Unit testing, automated testing**
**- Architecture refactoring**
**- Custom desktop, web and mobile development**

To ensure smooth implementation, our team also covered:

**- Thorough testing and debugging**
**- Technical support and maintenance**

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/125qrp776k8he4miy5hn.png)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d1xd1jcabd6jkknhpkj4.png)

**The project’s technology stack:** C#, WPF, .NET 6, .NET 7, MVVM Light, MahApps Metro, Blazor, Xamarin, ASP.NET Web API, Wout Ware CadLib.

**Used tools:** Visual Studio 2022, TFS, Figma, TestFlight.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6pw5meeojfxlfsz3yke1.png)

## The modernization of inefficient legacy apps: Key challenges 

Working on the project, our specialists faced the following problems:

### Certain algorithms had to be rewritten to a modern language

**To prevent regression issues,** we covered unit and automated tests.

### Some algorithms had to be rebuilt from scratch

**To handle legacy issues,** we involved additional specialists to leverage computer science.

### Custom algorithms

Also, using R&D expertise, in particular in-depth knowledge in utilizing computer vision, we implemented essential functionality, which enables **specific calculations (drive measurements) using the Apple ARKit.**

### Cross-platform development

**To ensure easy maintenance,** we shared a common business logic in C# across platforms:

- Key functions are extracted to common data libraries
- New changes are being included automatically across platforms

## Final words

Our company was working towards modernizing slow functions, all written in various programming languages. This way, the client could stay highly adaptable to the dynamically changing business landscape.

Continuing cooperating, our specialists have also successfully designed and implemented additional features. What’s more, web and mobile development was conducted to expand the capabilities of the in-house staff, which streamlined business competitiveness.

By modernizing outdated applications, we allowed the client to enjoy:

**- Considerably minimized license costs**
**- Successfully eliminated runtime issues**
**- Optimized new employee training and education**
**- Minimized prospective maintenance costs**

At the very moment, we’re handling web and mobile development to increase customer reach.