No Room for Mediocrity: Developing LQA’s New and Snappy Review Tool

In the world of luxury, there’s no room for mediocrity, and nowhere is it truer than within the realm of high-class hotels. To help the world-famous hotel chains to maintain their standards and uncover issues, Leading Quality Assurance (LQA) comes to the rescue, collecting and analyzing copious amounts of data. 

As you might have imagined, processing, analyzing, and visualizing this data is a job for a sophisticated piece of software, but up until recently, the system used was severely lacking. Opus stepped in as LQA’s development partner to fix the issues. 

Raul Viskar, Opus’ lead developer, explained that LQA approached them with a problem: the developer who had built the original system to handle all of the data being generated, had retired and so far, they had had no luck finding anyone with the technical know-how and required effectiveness to fix any pre-existing issues and to develop the next version of the application. 

Opus was up to the challenge, and set to work on two separate projects, the first of which was to fix any major problems with the old .NET based application whilst the new version was being planned. Once the first wave of issues was solved, Opus’ team could turn their attention to building a brand-new system entirely on Node and React. 

“Although I say new, then you have to understand that the amount of data LQA had was enormous and we were tasked with retrieving, analyzing, and displaying this data within a fraction of a second – a user selects the parameters they’d want to see, for example, ratings given to their breakfast quality over the past year compared to the year before that, and the system had to spit it out with beautiful graphs immediately,” said Viskar. 

With the original version of the application, all of this data, alongside all of the procedures and logics, was stored in an MS SQL database. Opus’s team migrated the database to PostgreSQL and all of the logic into the code itself. “Due to the sheer number of different instructions and logics it was quite a challenge, but in the end, it enabled us to offer a system that was heaps and bounds snappier than the original one,” he said. 

Alongside data management, privacy and security were also something that Opus’ team had to keep in mind. With most of the hotels in the world being competitors, even the ones under the same corporate umbrella, it was vital to protect the data and have a sophisticated role management system in place. “Having any data leak was simply not an option,” Viskar said. 

The power of React 

On its surface the front-end work of LQAs system might seem trivial – it needs to have options to enter data and then the ability to display this data in a form factor that’s easy to read for a not-so-tech-savvy person. However, to achieve the responsiveness expected from the application, much of what would normally be handled by the back-end was handed over to be handled by the front-end. 

Viskar explained that their aim was to minimize the time the user had to wait before submitting a request and seeing what they wanted to see. As such most of the data mapping is handled by the front-end, alongside the generation of responsive graphics and several other processes. “It minimized the number of times the page had to be reloaded,” he noted. 

All of this was achieved by using React and a variety of top-notch libraries. “In addition to saving time by using time-proven libraries, our awesome UX designer provided us with React components to display the graphs and other visual elements, as such there was even less need to reinvent the wheel during the process,” Viskar added. “All-in-all, it was a great opportunity to work with React at its best.” 

Let’s make decisions 

With this project, Opus also found itself in a position where it had to make some fundamental decisions about its development practices. Viskar explained that it became apparent that they had to decide on some principles to be used in the event of a larger than average number of developers working on React projects. 

“With LQA’s development, we had to constantly deal with different styles and approaches, and it became clear that we had to settle on some general guidelines,” he noted. “But this did not mean that someone from higher up dictated what had to be done. Quite the opposite – we held workshops, discussions, and everyone from junior developers to architects got to have their say. In the end, we settled on a set of principles we use in some form to this day.” 

“It’s common for companies to say that all of the developers have a say on how things are done. This here shows that at least at Opus it’s 100 percent true,” he said. 

Want to join our team? Take a look at our open positions. We’re looking forward to hearing from you!