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 basis for the system in the Lua language using Tarantool.
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.
The system for issuing SIM cards was our MVP (Minimum Viable Product) the IntexSoft team worked on.
With the help of all the described 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 product is a catalog of available products.
After studying the product, the customer forms a cart of the products they are interested in, and chooses the cost. At this stage, the consultant contacts the user and starts the registration, collecting various data from the client (mainly passport data). To implement this, the developers have done many integrations. The development team 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.
As part of the SIM card registration, the customer can issue a bank card from this operator. The client has a system that allows giving a bank card along with a SIM card.
Also, it was integrated with the customer’s equipment necessary for reading documents. IntexSoft specialists developed a mobile application that was called directly from the web one. This application reads the passport data and automatically fills in the fields required to register the client.
This application has the function of reading QR codes. The function is necessary when the client makes an order at one point of sale and picks up the SIM card in another office. The client is given a QR code that they show to the consultant. After reading the QR code, the consultant determines what order needs to be issued.
After the client is registered and the data is entered, the application scans the documents and saves them to the database. The application supports several types of documents that can be used to issue a SIM card. When issuing a SIM-card, a bank card is made for the client, which is printed at the department of the operator.
To understand what card is issued to the client the QR code is used. The process is the same for bank cards. Then the name of the owner is imprinted on the card using special equipment. At this stage, the development team has integrated a special bank card printer with the Android application. And for consultants, we added the ability to enter data manually.
We developed a feature that allowed multiple employees to work with a single client to distribute roles at different stages. The system recorded all operations for each step of this process. It was necessary to set up logging correctly to understand when, where, and what employee registered the customer. This was necessary to collect statistics since the salaries of employees depended on the number of transactions.
The employees are divided into those who work at the sales points and go-go employees. For go-go employees, we implemented a mechanism for detecting the location by coordinates. They can issue SIM cards as well and bank cards, but the process is different. Work with clients is completed at an earlier stage; the customer is given a QR code to use it to print a bank card and issue a SIM card at the sales point. For go-go employees, our team created a separate support system, which allowed them to work remotely at the point.
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