ServiceBridge Royalty Reporting
toughlex helped ServiceBridge in making one of the most robust and dynamic royalty reporting systems in the franchise field service industry.
ServiceBridge provides cloud-based field service management software since 2014. With their previous experience in the industry, fast release schedule, support of web, Android, and iOS, ability to adapt to unique needs of their clients, ServiceBridge became one of the industry leaders. With the decision to capture the franchisor market appeared a need to roll out franchisor focused functionality fast. To meet tight deadlines, some outside help was needed.
The main ServiceBridge goal of the partnership with toughlex was to work with the creation of new franchise royalty reporting system. Besides the functionality requirements ranging from support of different royalty agreements to services like exemptions, promissory notes and many more, the goal was to make almost every part easily configurable. No programming work should be needed to adapt the royalties system to a client with unique needs. In cases when the functionality needs to be extended, the entire system should allow to do it with a minimal amount of friction.
- Every part must be configurable without a developer
- Extendibility is a priority
With the main project goals in mind, toughlex took inspiration from its experience with Amazon Web Services (AWS). AWS CloudFormation managed to transform a human-readable document into entire stack of uniquely configured, depending on each other, services. That was what we needed in royalty reporting system.
- AWS Lambda based microservices to ensure scalability
- High unit and integration tests coverage
- AWS inspired extensibility oriented architecture
There is more information about technologies used for the project below.
To keep up and react to changing requirements and arising challenges in the project, agile software development methodology was used. Scrum was the agile framework of choice. It would let us correctly prioritize and deliver the functionality. toughlex was an important part of the team starting with grooming and ending with retrospective meetings.
Besides the very dynamic nature of royalty reporting, the domain itself proved to be a challenge. We were dealing with periodic money calculations for companies in different time zones. Just to maintain the timezones logic toughlex wrote something that could be considered its own extension library. Tens of methods extending the original functionality to work with date, time and timezones, which should prove themselves useful even after their original intent.
ServiceBridge has a big set of features serving very different needs of franchise field services. The royalty reporting system integrated heavily with the existing functionality. toughlex quickly adapted to used technology stack and services. That was one of the key factors which let us deliver great results.
Since the product already had a long history, we used the existing stack. For backend work, we used .NET. PostgreSQL as our main database. Knockout for client-side.
When creating new microservices, we chose to use AWS Lambda with other Amazon web services. That had let us create a very scalable, easy to manage and low-cost architecture. To reduce the time it takes to create and manage new microservices, we created a template and automated the deployment process for different environments using PowerShell and TeamCity.
toughlex quickly adapted to unique domain and needs, becoming an integral part of the ServiceBridge team. Apart from changing requirements, tight schedule and just a sheer amount of features required, we delivered. In the end, we achieved to have a completely dynamic and extendable royalty reporting system, supporting different royalty agreements, reports, a process for the review, exemptions, promissory notes and audit history. This system should help ServiceBridge in providing even more value for franchisors, further cementing its position as one of the industry leaders.
You can read more about what toughlex worked on in this ServiceBridge blog post.