Homepage > Portfolio > Backend Solution for the Internet-Banking System

Backend Solution for the Internet-Banking System

Azati team helped the famous CIS financial company enhance the online banking platform functionality by implementing new features to calculate clients’ benefits and provide free services carefully.

CUSTOMER

The customer is a well-known banking company that carries out all the primary financial operations, including various transactions and activities such as making or accepting payments, trading, clearing, and settlement of accounts.

It is one of the largest CIS banks by assets, equity capital, loan portfolio, and customer accounts. In total, 465 bank offices were opened both in Russia and abroad, including a subsidiary bank in the Netherlands and financial subsidiaries in the USA, Great Britain, and Cyprus.

Objective

High-quality banking services are the core aspect of ensuring a smooth workflow. Account opening and maintenance, funds transfers, balance tracking, operations history monitoring – all these features are included in online banking services users need every day.

The customer offers standard and advanced online features by the selected tariff plan free of charge if the user reaches a particular “goal”. Each month, the user can fulfill one of the options: a certain amount of transactions, monthly savings, or salary accruals. Upon reaching at least one of them, a corresponding package plan is provided for free.

Therefore, the main Azati objective was to develop the backend solution for the mobile and web version of the online banking application, named “tariff calculator”. Briefly, our team had to create the “goals accomplishment” algorithm assigned to the desired package plan.

Challenges

Since the customer is keeping pace with the times, on the project were used only cutting-edge technologies, which significantly reduced the presence of any problems with development processes and subsequent integrations and updates.

Project management was built as effectively as possible with an early planning and accurate management workflow, accompanied by two-week sprints, creating all the necessary conditions for developers and their convenient work.

The only and, probably, the main issue on the project was caused by the extensive technical infrastructure of the company itself, which arose some problems for remote work.

# The main challenge:

Generally, the remote team connects via VPN to the customer’s network. However, our engineers had to connect to two different VPNs: the first straight for development and the second one for interacting with the client via their custom mailing system. In other words, there was only a local way to communicate with the on-site team.

Therefore, to have a permanent connection to the remote workplace, our developers had to switch from one VPN to another systematically. Such an approach increased development time and complicated the communication process between teams. But due to our proactive approach, it was not such a big deal to cope with the issue.

Process

First of all, our developers entered into the customer’s team for remote work. The team, in turn, consisted of 4 Software Developers, a Business Analyst, a Product Owner, and a Quality Assurance engineer.

The project management workflow was based on the Scrum methodology. Each sprint was planned every two weeks, where the main loads were planned and distributed for each team member by the team lead. Thanks to a competent business analyst, if some problems arose during development, they were quickly resolved on the fly.

The development process itself included all the most standard software lifecycle stages:

#1 Planning

This step considers setting sprint goals and determining actions to implement them, allocating available resources.

#2 Development

The development step leads to practical problem solving to achieve the sprint goals. The actual user stories are moved as small tasks in the sprint backlog where the real work starts.

#3 Testing and Product Demonstration

The finish line of each sprint is a demonstration of the complete sprint solution. The team composes a review that describes the sprint goals, the tasks set, and how they were solved. Based on the review and demonstration, the product owner decides what should be changed in the further development.

#4 Retrospective and the next sprint planning

A retrospective is conducted based on the product feedback received after the demo. Its main goal is to determine how the development process can be improved in the next sprint to avoid problems and work more efficiently.

Solution

The final backend solution has a microservice architecture and works as a layer between data buses and the front-end.

The system we developed received requests from mobile or web applications directly from the bank users. Depending on the package plan assigned to the client, the algorithm began to aggregate all the incoming data. Here we sent requests to third-party customer’s systems, processed the received information, and presented it in a user-understandable form.

The system developed by Azati can be divided into the following microservices:

Tariffs catalog microservice

This microservice is responsible for providing the user with all package plans available by the online banking application. Thanks to it, the user can view the complete list and define the one which can cover his needs.

Tariff calculator microservice

The tariff calculator performs all the necessary calculations to provide free services, taking all the fulfilled stipulations into account.

“Queue” microservice

This microservice “listens” to queues from different sources. It is necessary for synchronous interactions between all systems.

Configuration microservice

All configs for other microservices are stored here.

SCREENSHOTS

Technologies

 
 
 
 
 
 
 
 

Results

Since the project has started, our team has accomplished the following tasks related to the development and ongoing updates:

#1
 

Developed several successfully integrated microservices based on cutting-edge technologies;

#2
 

Created a high-quality algorithm for calculating the fulfillment of the goals to provide free customer service according to the package plan;

#3
 

User history was integrated.

Now

At the moment, our developers have finished their participation since our role and responsibilities on the project were accomplished. However, the customer’s product is still evolving, and all the functions developed by Azati have been well implemented in production and are successfully used by bank clients.

Drop us a line

If you are interested in the development of a custom solution - send us the message and we'll schedule a talk about it.