Enterprise Analytical SaaS

DeepInspire helped a UK software company build and grow its analytical SaaS product, empowering enterprises with reliable and objective insights on the productivity of their development teams.

Technologies:

AngularJS, Grunt, SoapUI, Highcharts, REST API

About client

The client is a UK-based software company serving the top enterprise companies across various industries worldwide.

Amid a range of products, their analytical SaaS, aimed at top and middle-level management, helps businesses find discrepancies and track critical efficiency indicators.

The application is used to process huge amount of data in graphical and tabular views, select, filter and analyze numerous indicators, and more. With high-level data visualization, it helps improve efficiency of organizations.

Team:

  • Project manager
  • Frontend developers
  • UI specialists
working process

Objective

The client required a trusted and flexible partner who would supplement their in-house development team to scale up a comprehensive software-as-a-service application.

With our high-level track record, we were able to implement the technical solutions needed for the product.

Our team of a project manager, front-end developers and UI specialists helped the client with UX/UI design and front-end development of the application.

Our involvement included front-end development, development of User Interface, building Rest API architecture, and Local API testing.

Our solutions

Complex Data Structure

The data structure was solid and interconnected, and included from hundreds to hundreds of thousands of elements connected in graph-like structure. The ability to select one element effected the state of other elements in that structure. Those selections were used to request statistic information from server.

Solution

By using simple local database we succeeded with moving all operations needed for work with graph-like structure to the client’s side. The client’s team concentrated on processing and optimizing the backend part needed for the statistic application. Our front-end team was responsible for improving UI logic.

Long lists & huge tables

Within the app, long lists were displayed with instant filtering with hundreds of thousands of formatted elements and controls for each of them. That number was limited by browsers, especially ІЕ10. The ІЕ10 support was among core requirements. Even modern browsers crashed with thousands of elements in long lists.

Solution

We’ve developed a “virtual scroll” for long lists so that only a limited number of elements needs to be visualized or rendered. This limited selection is changing while the user is scrolling the list back and forward. The rest of data is present in browser memory and doesn’t make an impact on the productivity of the browser.

Highload handling

The load in local data base increased from 5k to 800k elements. Working with such amount of elements gathered in a graph structure on front-end required a number of new solutions to increase the productivity of the system and provide stable work of the system.

Solution

We profiled main operations for work with local data base, updated the workflow with data to use built-in tools of indexing, added custom indexes where it was needed, added advanced methods of sorting/filtering, changed and improved data base structure. Our team also researched and improved RAM usage for a large database.

Proctoring

The client needed to develop a system that would efficiently catch all attempts to cheat the system and to make sure that people with different IDs would pass through the same process of validation and verification. We had to minimize the possibility of hacking the system and track suspicious activity.

Solution

Our team implemented verification of the examinee ID and ensured the validation process over the testing conditions. Now the app supports web cam functionality for all popular browsers (incl. the Internet Explorer 11 and Edge support) and handles numerous use cases that may break the system e.g. using developer tools or copying the information from the screen.

Outcomes

With our help, the client was able to scale the product in an efficient way. We ensured a seamless workflow to design, develop, and advance the product up to the needs of the business.

We helped create a stable system that works with thousands of elements connected in the graph structure. The number of elements in the local database grew 10 times. Our further cooperation included development of the Admin Control Panel and advanced analytics solutions.

  • Results:
  • ✓ Extra high performance of UI.
  • ✓ Simple and intuitive stateless REST API.
  • ✓ High performance and small response time interface (less than 200 ms/operation).

Ready to discuss your needs?

Nataly Strategy Director Discuss your needs