On the customer's side, a web version of the messenger was implemented and a backend was partially developed, which was added in parallel with the implementation of other tasks. At the initial stage, we conducted an analysis of the project, the results of which were compiled:
— list of tasks for MVP development;
— justification of the technology stack;
— stages of work with planned dates and functionality.
After agreeing on the results of the analytics stage with the customer, a team was formed consisting of: an Android and iOS developer, two testers and a Project manager.
The work began with the creation of a WebView version of the application so that the customer could demonstrate it to end users to collect feedback. One of the key points was the creation of native notifications, which we implemented using FCM.
After the launch of the stable release, the development of a full-fledged native version began.
Native Android App
The development of the Android version began with the replacement of individual elements with native components.
The navigation bar, contact screens, chat list screen, chat screen, group chat creation screen, group chat editing screen, etc. were replaced sequentially.
Next, we started implementing the key functions of the application.
Here are some of them:
— the projects screen;
— search by chats and messages;
— sending of files and images;
— video player;
— light/dark theme.
At the moment, the development of the application is actively continuing and the introduction of a large number of new functionality is planned.
Native iOS App
The iOS development process was similar to the process of creating the Android application. First, we created a WebView version so that the customer could demonstrate it to end users and collect feedback. Then the replacement with native components and the implementation of the main functions began.
When designing the architecture, it was decided to use the most modern framework to create a native iOS application. At the time of the start of work, SwiftUI, although it was quite young, was a very promising framework, which in the future will probably completely replace UIKit and, after agreement with the customer, we settled on it.
As well as the Android version, the development of iOS is actively continuing.
Starting from the development stage, the QA team was engaged in analyzing requirements, selecting a test stand and compiling test documentation, then engaged in functional testing, testing assemblies, as well as finding and fixing bugs with subsequent verification of their elimination.
As the main tool for maintaining test documentation and configuring the testing process, we used our own TMS — DoQa, in which we conducted more than 1,500 runs.
Testing of the Android and iOS versions was conducted at our stand, which has 400+ live devices.
As a result, we have created 2 mobile apps for Android and iOS that are not inferior in functionality to modern messengers.
The main competitive feature was that this messenger can be used in government organizations, since all components of the system and the development team are located in Russia. An internal version of the messenger can be deployed for a specific organization, which can work locally within the corporate network of the organization.
This approach allows you to adapt the application to the needs of a specific customer.