Tasks we solve with Qt

Tasks we solve with Qt
Портрет эксперта
Michael Baranov

Web Developer at OrbitSoft

Using the PosiFlora POS (point of sale) system as an example

In brief

  • 01
    What kind of tool it is

    Qt — framework C++

  • 02
    Where we use it

    POS and control system for business automation, trade, and warehouse accounting for PosiFlora floristry business

  • 03
    Reason to use Qt
    • Cross-platform: the same code is used for both iOS and Android
    • Flexibility: we can embed native code into the app
    • Response time fast enough for all tasks
    • Routine tasks require less time
    • Compatibility with any database
    • Easy integration with banking software
  • 04
    Results
    • We launched the app in just 9 months
    • 1200 users by June 2021
    • Support almost all types of devices
    • The application is compatible with all popular online cash registers: Evotor, ATOL, Shtrih-M
    • Only 2 developers are needed to develop and maintain it

The PosiFlora application places orders, accepts payments, and stores customer data

PosiFlora is a POS and control system for business automation, trade, and warehouse accounting for the floristry business. It’s used by online flower businesses with delivery, supermarkets that sell flowers, and small flower shops. OrbitSoft developed this solution from scratch.

The system meets managers' and employees' needs, those managers and florists who work with customers directly from a store or through social networks. That’s why the OrbitSoft team made sure that PosiFlora would work on different devices and in different formats. There is a web version, for example, and for laptops, an application. You can also use it from your phone or tablet.

With the PosiFlora app, flower business managers and employees perform all the basic tasks for sales, accounting, and payments. For example, they can:

  • add a name, telephone number, and customer address, and place an order
  • accept payments in cash or with bank and credit cards
  • print receipts
  • save order information in the database
  • keep track of stock
  • write off flowers if they are wilted
  • allocate work shifts among employees
The PosiFlora system is available on different devices. For example, a manager studies reports from his computer and florists use phones to place orders.

Reasons to choose Qt for the PosiFlora application

We decided to develop the accounting system in C++. On the market there are many frameworks for this language. We chose Qt. Let’s talk about how it helps us solve our problems.

It saves us time and money on development. Applications can be native or cross-platform. A native application is developed for a specific platform, or they can be cross-platform and function on all platforms, for example on iOS or Android.

In order to make native applications, it’s necessary to hire several programmers, and spend more time on technical support and program development. For this reason, we decided to make PosiFlora cross-platform to reduce expenditures and simplify resource allocation.

Qt allows us to develop for several platforms at the same time. Regardless of architecture or bit depth, we write one program and distribute it immediately to any model of phone and tablet that clients use.

If during the process we find a fault, Qt allows to fix it immediately in one place, so we don’t have to make changes on different platforms.

No loss of application speed. Native applications are always faster compared to cross-platform ones, but if you use the framework correctly, the speed difference can be smoothed out.

Qt is built on native function calls: it allows code to be used in another programming language. If a developer encounters a problem that Qt can’t solve, he doesn’t need to invent a workaround mechanism; he inserts JavaScript, Swift, or Objective-C directly into the code. This feature simplifies problem solving and ensures that the application’s performance doesn’t suffer.

Qt allows the use of native code without additional workarounds

Easy integration with merchant acquiring, cash register, and bank. Floristry businesses connect different tools and services to accept payments. Among them: card payment terminals, barcode scanners, cash registers, and fiscal storage units for printing receipts and sending information to tax authorities.

The businesses get some of their tools from banks or suppliers of cash register equipment. An app won’t be able to receive money until it learns how to have a good relationship with such companies.

And that’s where the problems begin

The language in which the tools from banks and POS providers are written is often in opposition to the application. To integrate them, developers need their code. It’s obvious that few are ready to open the code for their programs, and there is no way to achieve this without the code. Negotiations begin, and the app customization slows down.

The problem is solved with Qt. It was created for the C++ language, which is the language most often used for payment systems. The PosiFlora application uses Qt, so integration proceeds without the need for negotiations. All you need to do is to plug in the library for the checkout or terminal, and integration takes place seamlessly.

This is what the integration of PosiFlora and ATOL cash registers looks like

The possibility to create complex synchronization mechanisms. The accounting system stores data on orders, lists of florists' clients, information on stock balances, and lists of employees.

As long as the internet works, everything goes smoothly.

The florist places an order, enters the purchase information, and enters the client’s data into the system.

And now he is sure that his colleagues know which bouquet to pick and by what time. And then the Internet shuts off: the record of the order is no longer there, and no one remembers the details.

Question: what do you do in this situation and what do you tell the client?

Our team knows that some issues with connections are possible, so we were looking for a solution to insure uninterrupted business. Qt helps with that. It allows the application to work offline: data is saved in all cases, and as soon as the Internet comes back online, the information is uploaded into the system. This is possible because the database has no limitations on its synchronization with different devices.

It doesn’t need to adapt to interfaces. Qt is compatible with different interfaces: you can write code with the app business logic and connect it to any external part.

For example, if you want to move an application — which previously ran on a desktop — to a phone, you need only design the interface and connect the existing business logic, and the task is ready.

Users can work on outdated hardware. Qt developers support all versions of a framework, so PosiFlora can work even on first generation iPads.

Developed community. Qt is one of the oldest frameworks, its open source, and has excellent technical support.

Qt has been under development since 1995, so there is a lot of data regarding its use. If we come to a dead end, we can easily find the information we need, or ask for advice on forums or from tech support.

If you have any questions during the development process, you can ask them on forums

Orbitsoft Tip: When Qt will come in handy

For the following projects:

  • Processing a large amount of data. For example, for accounting systems or log analysis.
  • For networking. If the task is to store data offline: the framework works directly with network protocols and won’t allow data to be lost.

For which tasks it’s better to choose a different framework:

  • Mobile game development. Native frameworks have higher response speed.
  • High quality storage of photos and music. Cross-platform frameworks perform more slowly with such content.

Work results with Qt: we launched the application in just 9 months

With the help of Qt and our in-house expertise we developed an application for an accounting system in just nine months. Our team updates the functionality almost every month, so PosiFlora is continuing to become even more convenient and useful. Over 1,200 retail stores are using the application as of June, 2021.

Here’s a list of the benefits we’ve gained from working with Qt.

The app can be used from any device. PosiFlora supports:

  • All iPads, and iPhone versions starting with the sixth generation.
  • More than 10 thousand models of Android devices.

Qt can also let you quickly develop an application for a new platform.

We are constantly adding new features. In two years, the application has covered over two thousand tasks. Among them:

  • Implemented delivery ranking of European labels.
  • Support of barcodes was added.
  • We made it possible to connect information from different advertising accounts.

Faster application updates. Since the launch of PosiFlora, we’ve released 87 updated versions of the application. Despite the number of updates, we didn’t need to involve additional developers. Versions were rolled out for all devices at once.

Savings on development resources. We need only two programmers to write updates and maintain the application. Therefore, customers pay a lot less to work with us.

Whatever your needs, we can help!

Tell us what problems you’re facing with your business. We look forward to hearing from you.

Получите ответ по смс

Ваше сообщение успешно отправлено!
Представьтесь пожалуйста
Укажите номер, на который придет ответ
Нажимая на кнопку, вы даете согласие
на обработку персональных данных.