Customer
A company providing solutions for geological exploration organizations.


 
Challenge
The customer wanted to create a solution for receiving environmental information, sharing of meteorological data, communication among specialists with different professional ranks. Important aspects were ensuring data security, cross-platform compatibility, high-speed data exchange, 24/7/365 operating mode.
The system had been developed based on Qt with the participation of several teams from different countries. The customer needed developers with extensive experience with С++ and Qt who could develop key components.


 
Solution
The solution is multi-level and consists of many components. The toolset includes several internal servers, client applications, as well as a system that provides management of changing user roles and privileges. One of the main features of the solution is the ability to configure a function of the system for a specific role of the user, not his account.
Our specialists developed key components: user roles management system and messenger.
 
Functions of user roles management system:

• Assignment and editing of roles depending on areas of responsibility, professional rank, location;
• Moderation of information about users and access privileges;
• Providing access to specific information, content editing, and administration functions according to the user's role.

 
Functions of the messenger:

• Secure and high-speed exchange of messages and data;
• Organization of group chats for users with a specific role;
• Display current active roles and users with a special authority.


The use of Qt allowed us to quickly and cost-effectively design, develop, deploy, and maintain software.


Features of the Qt-based solution

Features

Benefits

Highly productive C++ framework

High performance

Cross-platform libraries, APIs, tools.

Decrease time to market

Large library of ready-made controls

Save time/reduce cost, intuitive experiences.

Open solution

High security


 
The project was developed using the agile methodology, our team provided demo versions weekly.


 
Technology stack:

• Programming language – C++
• Interface - QtWidgets, QML
• Protocol – LDAP
• Server – eJabber
• Domain controller - Samba AD


 
Results
We have established productive communication with the customer team and synchronized development tools in a short time. Releases were made according to the coordinated plan.
High-performance solution with intuitive GUI allows system users to securely communicate and exchange information on various devices.