Lean Coffee Speaking Club for IT people
InnoHub, every Monday, 2021
Mafia Tech League
InnoHub, March 11 and 23, 2021

Optimizing a Trading Platform for Scalability

Industry
Fintech
Expertise
Mobile apps development, QA & testing, UI/UX Consulting
Project Type
Mobile, Web
Technologies
JavaScript React, Kotlin, Swift

Highlights

  • 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.

Technology Challenges

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.

Solutions

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

The objectives and defined scope of work required the involvement of highly-skilled specialists who had a clear vision and understanding of the architecture solutions and could perform effectively and deliver on time. Thus, it was decided to scale the client’s Product Team with C++, Node.js, Java, JavaScript, Kotlin, and Swift developers. Also, manual and automation QA engineers joined the 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.

Frontend

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.

Redux is a predictable state container for JavaScript apps. It helps to write applications that behave consistently, run in different environments (client, server, and native), and are easy to test. On top of that, it provides a great developer experience. Redux can be used together with React, or with any other view library. It is tiny (2kB, including dependencies), but has a large ecosystem of addons available.

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.

Mobile

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.

Project results

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.

Client’s Feedback

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.

Interested in building your own solution?
Get your free consultation.
NEED HELP WITH YOUR PROJECT?
If you need assistance in building a product from scratch or supporting the existing one, drop us a line to discuss details, and we will reply within 24 hours.