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.