CASE STUDY
Enabling Reliable Data Exchange Across Platforms
Web application enabling secure two-way data exchange between external platforms and consumer applications through scalable microservices architecture and real-time processing.
Problem Solved
The project involved developing a public web application integrated with two external applications in a pipeline that streamlines two-way data exchange between third-party systems and a mobile app used by consumers. The application would need to allow business users (owners of the third-party systems) to configure the necessary details for seamless data exchange. The challenge was to implement complex, domain-specific business logic to ensure the system functioned effectively within the legal framework.
Problem Solving Approach
First, the user interface was redesigned to improve user experience and speed up the new user onboarding process. Simultaneously, the frontend framework was transitioned from Angular to React, and WebSockets were introduced for real-time UI updates, improving both user experience and application performance.
To manage the increased load from new bulk onboarding features, which led to a 300% rise in onboarded businesses within a year, we optimized existing architecture for maximum parallelism. This involved increasing the number of RabbitMQ queues and utilizing existing multithreading processes across multiple production instances.
In case of high demand for resources, each Production instance takes a predefined number of messages from one of the RabbitMQ queues and processes them by applying multithreading in its CPUs.
The application is a part of a microservices architecture system, and it uses features enabled by a set of shared services through GraphQL and Kafka Integration. While it has its independent codebase and release cycles, there are dependencies on several other services developed by different teams, using different technologies (software frameworks, types of databases, etc.).
Outcome
The application is a part of a microservices architecture system, where different services have their own business logic, codebase and independent release cycle. They are developed by multiple different teams and even use different technologies (software frameworks, types of databases, etc.). The common features are available through a set of shared services, via GraphQL and Kafka Integration.
Increase in application users (businesses) in one year
Sped up the onboarding process of new users
Separation of codebase when moving to a microservice architecture led to increased efficiency in software features delivery process.
Key Features Implemented
Real-time updates on UI
Bulk onboarding of new users
UAdded support for onboarding different types of (business) users
Technologies
Development
Project Timeline and Team Structure
The project has been ongoing since 2018. The team size is adjusted as needed, ranging from 8 to 15 members, including Software Engineers, QA Engineers, DevOps Engineers, a UX/UI Designer, a Product Owner/Manager, and a Scrum Master. The team continues to deliver Software Development and Product Design services.
Product Owner
Software Engineers
QA Engineers
DevOps Engineers
UX/UI Designers
Scrum Master
Methodology
The development process followed an agile Scrum framework, adjusted to specific project needs. This included coordinating software feature releases with necessary changes in integrated applications, sometimes requiring synchronized production releases. Complex features were designed and developed over extended periods, with production deployments aligned to the client’s timeline. Meanwhile, minor features and enhancements were delivered regularly at the end of each sprint.
Processes had to be made even more flexible, while keeping the benefits of Scrum. More on this is explained in the blog How to manage two development tracks using Scrum.
With decades of experience driving success for industry leaders, we’re ready to help you turn challenges into opportunities.
Related case studies
Gain hands-on insights from our team's expertise.
Data Migration and New Service Development
Replaced a legacy application by migrating core features into a centralized service, improving access and system flexibility.
NDA
DevOps
Product Design
QA
Software Development
Insurance Documentation Management Platform
Unified platform for structured documentation, task tracking, and process visibility that improved operational efficiency, reduced compliance risks, and strengthened cross-team collaboration.
Insurance
DevOps
MVP Design
Product Design
QA
Software Development
Ready to Achieve More?
We’ll help you reach your goals quickly with an easy and straightforward process to kick off our collaboration. Here’s what happens next.