Optimizing a Trading Platform for Scalability
- Increased performance to support 500K+ users
- Automation tests with 50% coverage
- Automated CI/CD processes
- 80% of the entire codebase for mobile was refactored
About the Client
Founded in 2009, our Client’s company is now one of the fastest-growing businesses performing in the FinTech sector. Their aim is to enable investors and traders to easily and securely purchase and sell stocks in the market.
As a technology-powered financial company, they provide B2C stock trading and brokerage services through the user-friendly web and mobile applications.
The userbase of the Client’s trading platform was growing rapidly which caused a significant load on the system and delays in request-response calls because of poor code quality and low performance.
Innovecs development teams always keep up with industry-specific technology trends in the market and apply the best tools and solutions to support Clients’ projects. Thus, the Client leveraged Innovecs knowledge in addressing scalability in platform development to overcome the following technology challenges:
- increase trading platform performance to support a minimum of 500K users;
- refactor code to Kotlin (Android) and Swift (iOS) to achieve clean solution architecture;
- change MVC architecture to CleanSwift which is more agile;
- implement Automation testing and support at least 50% coverage.
To solve the above challenges, Innovecs took on the responsibility to build a highly-skilled team and organize a stable and clear development process to establish a predictable pace of delivery with high performance and superior code quality.
Let’s see in detail what was done to meet the Client’s goals.
Building a Capable Consolidated Team
Our first priority was to effectively align our Development Team with the Client’s Product Team and become more flexible in terms of cooperation.
To evolve from a group of people who have different habits and belong to different cultures into a consolidated international team, we were holding joint team building activities, brainstorms, and were regularly exchanging knowledge. This helped to shape a true team where developers turn to each other for advice, communicate important issues effectively avoiding conflicts and misunderstandings. Both Innovecs and the Client’s Teams made efforts to achieve harmony in collaboration.
Establishing Effective Workflow
After building a great team of skilled engineers, we organized a clear and productive development process based on the Agile approach (Kanban) with the obliged code review procedure with Unit test implementation for every developed feature.
To remain agile and flexible in regard to technical requirements changes, the team established a good development pace to deliver high-quality results. This allowed the team to decrease the time needed to complete certain tasks, promote overall team engagement into the project’s success, and deliver value.
The team decided to use React with Redux for frontend realization. This approach gave them all the necessary tools to create a modern and very productive solution with the ability to support more than 500K users simultaneously.
The team built automated CI/CD processes by using Development, UAT, and Staging environments and implemented a set of services to adapt to common technology standards for all request-response calls.
As a primary system interface, the team delivered a Web 3.0 solution to Production and gained very positive feedback from the end-users.
The codebase of the mobile applications was refactored from Java to Kotlin (Android) and Swift (iOS) to achieve clean solution architecture. The team changed old MVC architecture to a modern and more agile CleanSwift. More than 80% of the entire codebase was refactored. The team used the WebSocket protocols to push data between devices in real-time.
QA & Testing
To ensure product quality, the team combined mobile and automation testing. They managed to launch Automation tests with 50% coverage of the platform functionality to validate that it is designed and functions as expected.
The team of engineering experts was successfully built and the workflow effectively established. A new frontend solution was released to Production. Now, the Mobile Team successfully uses Kotlin (Android) and Swift (iOS). The trading platform can now maintain a high load and flawlessly handle requests of more than 500K users.
Where We Go
We proceed with the development process in every aspect of the Project to hit new achievements. We aim to build a bunch of new features to support and enhance the end-user experience.
New challenges are awaiting and the first one is already clear: we have to improve system performance to support 1 million users at once. We have to create a new culture in trading with understandable system behavior and the best user experience.
Innovecs has been a critical part of our project delivery and success. The leads and engineers have been fantastic and delivering quality work. We’ve been very happy working with them and look forward to scaling our core business with them by our side.