Development of a web system for a partner network of a backbone bank

The bank is actively working on attracting customers and improving tools for effective lead generation. We helped introduce new IT solutions that help develop the partner program — cooperation with legal entities and entrepreneurs who are ready to participate in expanding the customer base.
Apache Kafka
A backbone bank that is actively working to attract customers and improve tools for effective lead generation.

Our customer

The bank was creating a new architecture concept when we started to work.

On the management side, there was a shift from Waterfall to Agile:

flexible development in two-week sprints replaced standard top-down planning. The changes also affected the IT architecture: the bank was shifting from a set of services that existed separately from each other to a clear organization of components that smoothly interacted with each other.

The team had to study the client's changing technical processes and offer a solution that would seamlessly integrate with the bank's IT ecosystem.
1. Transfer the main functionality from the outdated legacy system to the new stack. Old technologies are no longer relevant, and it became difficult to maintain them.

2. Create a unified platform which can integrate the bank's information systems — services that help work with partners in different areas: cash management, insurance, car loans, and acquiring.

3. Launch an electronic document management system.
The bank sought to speed up and automate the conclusion of contracts with new agents. The process from filing to receiving signed paper copies could take several weeks — an unreasonably long time in today's conditions.



Project manager:
analyzed the customer's business requirements, controlled deadlines, prioritized tasks, and managed the process of developing new releases.

Technical lead:
compiled technical specifications and divided them into separate development tasks,
defined how the program and user interfaces, as well as the database, should look like,
wrote the technical documentation.

6 backend developers:
responsible for data migration from an outdated database to a new one, development and configuration of the program interface, creation of an administrative panel, and compliance with security requirements.

3 frontend developers:
created interfaces for internal and external users.

The customer's team — business analysts, system analysts, and a product owner — analyzed the legacy system and set business goals. The solution architect was involved in building integrations with the extensive architecture of the bank's third-party systems. QA- and DevOps-engineers participated in building a quality control system for development and CI/CD.

Technology stack


We used a classic microservice architecture. This development approach allowed us to build a system of independent services that interact with each other via http and message queues. If necessary, you can make changes to any service — the rest will not be affected, and the system will not have to be reassembled.
The data from an old Oracle database was transferred to a new, more reliable PostgreSQL with an "open" license. It is not inferior in performance but simpler and more accessible in terms of technical support. This is how we minimized business risks associated with the use of Western software.



The backend code of the legacy system was written in the PHP programming language. For the new code, we used Java, a much more secure solution with increased protection against bugs, vulnerabilities, and attacks. The Spring Boot framework has simplified the deployment of microservices and increased development productivity.
We chose the React library as the frontend platform. It provides fast page loading, reduces the error rate, and generally improves the user experience. The Module Federation was first used to create a unified information platform. This technology makes it possible to integrate modules of one user interface into another. The bank will be able to create and integrate its information systems into the platform developed by us and modify and develop them independently of other systems.



DevOps-tools were used to automate the deployment. So, thanks to containerization in Docker, we isolated the software to test it quickly and securely in different operating systems. Container images were built on the Red Hat OpenShift platform through TeamCity, a flexible build management and productivity solution.
We also used the Bitbucket repository platform that became a center for teamwork, making the development process transparent to all project specialists.
The integration of the electronic document management system helped us implement the solution and save the customer from the paper routine. The operator of electronic document management and its integration with banking systems was Kontur.diadoc.
The CryptoPro provider supports the document signing process by encrypting and protecting data.


What we developed

What we did:
We created a unified platform that has built-in information systems for partner services in different areas: cash management services, insurance, car loans, and acquiring.
For each area, partners registered in the system attract leads for the bank.
How it works:
Support for the lead generation process of banking products
What we did:
We developed an external interface for companies with which the bank cooperates.
How it works:

New partner registration and partner user management

A managing partner, such as an individual entrepreneur or the legal entity manager, manages the company's employees who are directly involved in lead generation.
What we did:
We implemented a channel for user identification with subsequent redirection to certain sections of the platform. We integrated the channel with other bank services.
Bank employees give partners access to sections. When the user is logged in and authenticated to the system, he gets to the required interface. For example, the partner provides auto loan and insurance services. He enters his username and password and sees a menu of two necessary information systems. But he does not see the menu for consulting partners, although this system is built into the same platform.
How it works:

User access control

What we did:
We implemented an interface to work with incoming requests for internal bank employees.
Bank staff receives and reviews cooperation proposals from companies that are willing to provide customers. The staff does the screening and makes the decision.
How it works:

Receiving applications from potential partners

What we did:
We provided the ability to transmit signed documents to partners electronically, which greatly accelerated the contracting and onboarding process.
How it works:

Electronic document management

All the steps (applying, screening, collecting, signing, and sending the documents) now take less than an hour. Speed is crucial for the bank because partners can be located in remote regions of Russia.
What we did:
We added new features that make it possible to quickly get information about the business process efficiency.
How it works:

Unloading reports, dashboards, statistics

The customer can generate a visual report for a selected period to track the indicators and their dynamics in detail in real time.
Working with a bank means higher requirements for information security. We built the system taking into account the strict legal framework and customer requirements in terms of data protection.

Project specifics

At the end of March 2022, the project went into production. The CosySoft team completed all the tasks: we migrated functionality to the new stack, integrated IT solutions for working with partners into the updated architecture, and implemented electronic document management.

The bank staff and partners note the user-friendly interface and the high speed of business and IT processes. The readiness of the platform to integrate with any information systems will allow to quickly develop additional areas of cooperation and therefore attract even more customers.


Discuss a joint project