Mobile Application API
Azati helped the partner deliver a service for online banking and a new API of the mobile application for one of the CIS banks. The use of cutting-edge technologies improved overall performance and accelerated business processes.
As cashless payments via bank cards and the Internet are becoming more and more popular over recent years, online banking opens countless opportunities for its users. With the help of the remote banking system, you can make banking transactions 24 hours a day, seven days a week.
Online banking with an intuitive and clear user interface is a sure sign of bank reliability because the development of online services requires serious business investments, domain and market knowledge.
The end customer is one of the biggest CIS (Commonwealth of Independent States) private-owned banking company and the third largest bank in Central and Eastern Europe by assets.
End customer chose our partner, a well-known IT-company, to develop a new online banking platform and mobile application API. So the partner involved Azati engineers into the project to strengthen the in-house team.
Due to rapid technology expansion, the Internet is used not only for information search and exchange, but also to make purchases and perform funds transfers. Banks keep up with the times and offer their customers bank services online.
Online Banking Platform is a system that allows users to receive bank services via the Internet: transfer money to other accounts, pay bills, repay a loan, exchange funds, etc. You can access your purse from a computer or even a smartphone merely using a web browser.
The customer decided to build a new version of the online banking platform including not only a web version, but also a mobile application. Azati was responsible for the development of the web version – both customer-facing interface and server logics. Azati also created an Application Programming Interface for a mobile application of the banking platform.
The first problem was related to release delivery. The workflow was poorly organized, necessary Git permissions were invalid and general code style were not determined. At the early stages of the project, when the number of engineers was small, the issue did not influence the workflow, but the situation became critical as soon as the project grew.
To eliminate this issue, Azati shared its experience and comments about what needs to be done to clarify the workflow. Our involvement helped local management to put things in order and deliver the expectational results in time.
Yet another issue was related to third-party services integrations. Online banking is not just the interface that gives access and simplifies interaction with your purse. It is a complex solution that includes many features under the hood; for example, money transfers to other users’ accounts – clients of third-party banks.
To accelerate feature delivery and third-party service integration, the team communicated proactively with the external vendors to understand how the solutions work and provide the best integration opportunities to the customer.
The third issue our team faced was related to poor overall performance. Since all team members’ work was initially poorly organized and the project was not appropriately structured, a lot of unnecessary code appeared in the solution.
After our engineers helped establish a reliable workflow, the team refactored outdated classes and functions, got rid of extra verifications and checks, covered a massive amount of code with automated tests.
As mentioned above, the work processes were not organized and insufficiently monitored by managers and analysts from the very beginning. Such a situation happened primarily because all development teams were small and distributed, and the customer thought that centralized project management was not so necessary.
As the project expanded, the problems of management became obvious. Right after Azati joined the project, we proposed to shift to agile project management – SCRUM. It helped to clarify workflow, simplify processes, increase quality, and speed us feature delivery.
The entire management process was carried out via Jira. It should be noticed that business analysts carried out the responsibilities of the project manager.
Business analysts discussed with customer task details and collected project requirements. They analyzed customer’s needs and requirements. In fact, BAs were a kind of bridge between the customer and the development teams.
When all the task requirements were received and approved, business analysts transferred all information to team leads.
The solution was built around a monolithic architecture. Briefly speaking, a monolithic application is a web app created as a single service deployed at a single server. So the solution was scaled up by deploying the same application to multiple servers. Such an approach lead to some difficulties with session tracking, but the development team successfully overcame these issues.
The product defines the layers of user interface, business logic, and data access. Within this architecture, users execute queries through a user interface that interacts only with the business logic layer. Therefore, the business logic layer can call the data access layer to process requests.
The architecture of the platform consists of the following layers:
#1 Interface layer
The topmost layer is the user interface, created as an Angular application. This application is responsible for what the user sees and interacts with. Also, another vendor is currently creating the mobile application.
#2 Backend API
The second layer is the Web API. API implements things needed for frontend functioning: view data collection, controllers, authorization, verification and etc.
#3 Main API
The next layer is the main API, which is connected with internal bank middleware. This layer can be accessed only by Web API and other services. It means that the user can’t directly interact with Web API. All the basic logic of the online bank is stored in this layer.
#4 Integration layer
The last layer is the integration layer that provides integration with other banking systems and third-party services.
Since Azati joined the project, our engineers:
Helped to establish a clear workflow according to SCRUM
Accelerated overall performance up to 6 times
Developed and delivered an up-to-date version of online banking platform
Today, the solutions proposed by our engineers were deployed in production and are loved by the end-users.
In cooperation with our partner, we implemented several essential banking features:
Displaying and customizing information
- Statements for accounts or sub-accounts.
- Transaction history for accounts and sub-accounts.
- Overview of actions completed on the account.
- Funds transfers from one account to another
- Paying third parties, including bill payments and third party fund transfers
- Loan repayments
The customer is completely satisfied with the services Azati provides. Our engineers continue to deliver new features, and discuss new technical solutions. In the nearest future the customer plans to increase the number of our engineers involved in the project.
Featured case studies:
The customer asked Azati to audit the existing solution in terms of general performance to create a roadmap of future improvements. Our team also increased application performance and delivered several new features.
At Azati Labs, our engineers developed an AI-powered prototype of a tool that can spot a stock market trend. Online trading applications may use this information to calculate the actual stock market price change.
Azati designed and developed a semantic search engine powered by machine learning. It extracts the actual meaning from the search query and looks for the most relevant results across huge scientific datasets.
Azati helped a well-known software integrator to eliminate legacy code, rebuild a complex web application, and fix the majority of mission-critical bugs.
Azati helped a European startup to create a custom logistics platform. It helps shippers to track goods in a real-time, as well as guarantees that the buyer will receive the product in a perfect condition.