The client was working on many systems at the same time. This made it possible to introduce a new mobile operator to the market with its own services and automate sales points. These were the standard points where the customer could issue a SIM card. This system for issuing SIM cards was kind of an MVP we worked on.
The development process started with writing the specification and preparing solutions. The basis was the HJ Framework developed by the client’s company.
We deployed all services in the Kubernetes cluster. The basis of services was formed according to the HJ Framework specification. The services were written in Java.
Our team used two databases – Tarantool and PostgreSQL. The specialists generated a service, the functionality within which was implemented with PostgreSQL. Also, we developed a service base for the system in the Lua language using Tarantool.
Using these technologies, our specialists developed a client application. We developed the back-end for the app that automated the entire path from attracting a client to their registration.
The application is a catalog of available products, where the customer can look through the offers, tariffs, service packages, etc. While forming the order, a consultant contacts the user and starts the registration, collecting various data from the client (mainly passport data). After registering the client and entering all the data needed, the app scans the documents and saves all the information to the database. To implement passport data verification, we made a lot of integrations: enabled a service that collects and checks data from the Ministry of Internal Affairs database, matches the residence’s address, and the document’s validity.
After registration, the customer receives a QR code that can be used at the operator’s office to get a SIM card. As part of the SIM card registration, the customer can issue a bank card that is directly connected to the SIM card and printed at the operator’s office.
Within the project, IntexSoft specialists also developed a mobile application. It was integrated with the customer’s equipment necessary for reading documents.
When the customer makes an order at the operator’s office, the application reads the passport data and automatically fills in the fields required for registration. The application also has a function for reading QR codes which simplifies registration: if a client placed an order online or at one point of sale, and picks up a SIM card at another branch, the QR code allows the consultant to track information about the order.
Employees: workflow management
There are many systems in the application that store data about employees, goods, points of sales and service. One of our tasks was to set up integration with these systems too. Each point of sale has a Wi-Fi router with a unique marker. This is necessary to prevent changing of the sales point.
To distribute roles at different stages, we also developed a feature that allowed multiple employees to work with a single client. The system records all operations for each step of this process. The IntexSoft team set up logging so that it is possible to track which of the employees and at which point of sale registered a specific order. This is important to collect statistics on the number of transactions for an individual employee.
In the company, employees are divided into those who work the sales points and go-go employees. For go-go employees, we implemented a mechanism for detecting the location by coordinates. They can register SIM and bank cards too, but work with customers is completed a bit earlier – when they give the customer a QR code to receive the order.
The project can be called atypical since there were no detailed and clear requirements. The team members were proposing ideas, integration options and were building the system’s behavior.
IntexSoft specialists carried out the work according to the Agile methodology. Our team shared the intermediate results with the client on daily calls. During these sessions, we discussed the job results and further plans for the development of the system. After the integrations and releases, we started following Kanban. For communication, we used Skype and Zoom.