Reseller Portal Decoupling and  Development for Poynt Open Commerce Platform  

Highlights

  • Ongoing Collaboration with One of the Globally Leading Payment Processors: our tech team was engaged in joint development efforts aimed at enhancing the Reseller Portal for configuring merchants’ terminals and some other solutions of the company.
  • Successful Decoupling and Extraction of a Reseller Portal from the Monolithic System: over a meticulous two-year period, our team navigated challenges posed by a monolithic system and multiple service dependencies, and successfully decoupled the Reseller Portal as a result.

Client

Poynt, the first world’s open-commerce solution, was founded in 2013. The startup was inspired by a vision to revolutionize the payments industry by combining the power of mobile technology with advanced POS capabilities. At the beginning of its collaboration with SPD Technology, the company offered innovative payment solutions and business management tools for merchants.

At its core, Poynt provided smart payment terminals that enabled merchants to accept various payment methods, including credit cards, debit cards, mobile wallets, and contactless payments. These terminals were equipped with advanced features and capabilities to streamline the checkout process and enhance the overall customer experience. In 2020, the startup was acquired by one of the globally-leading eCommerce businesses.   

Website:
Country
Industry
Team Size:

Product

In addition to payment processing solutions, our client offered a range of business management tools to help resellers and merchants run their operations more efficiently. One of them was the Poynt Platform for payment gateway setup, which consisted of three parts – for administrators, merchants and resellers. The latter part, Reseller Portal or Mission Control, in its internal naming, allowed resellers to onboard their merchants, configure payment gateways and set up payment terminals for them. 

While these three components were intended for different user groups, they, nevertheless, were working as a single and dependent application, leading to the fact that every new code commit affected the system as a whole. In fact, the Platform had no ownership and single responsibility – different teams (those responsible for gateways, terminals, etc., development) committed their code to the Platform depending on their requirements. Since the users requested Poynt for technological improvements and adding new features, it was decided to decouple a Reseller Portal, while adding new features in parallel with the extraction process.

Goals and objectives

  1. Extracting the Reseller Portal From the Monolithic System: by isolating the Mission Control service, we aimed to streamline development and updates to this critical component without impacting other parts of the system.
  2. Acquiring the Ownership of the Reseller Portal: Gain ownership of the Reseller Portal to ensure effective development of new features and support.

Project challenge

  1. Monolithic System: several different teams committed their code to a single codebase which led to more conflicts between services. 
  2. Multiple Services Dependency: interdependencies among various services complicated the development and maintenance process.
  3. No Direct Access to the Codebase: since each of the dependent services used its own database.

Solution

We, at SPD Technology, have been working with the customer since 2019, and for the goal of extracting the Reseller Portal, it was decided to assemble a dedicated team of 8 members to actually take its ownership and keep extending its functionality in response to the user queries. The team was working on Mission Control for two years in total, being constantly involved in analyzing its architecture and codebase. We worked in a critical environment since we had to figure everything out from scratch, discovering multiple dependencies and conflicts between different services. Before we took on this project, it had no dedicated development and support team.

During the work process, we analyzed the system’s drawbacks and suggested the necessary improvements. We recognized that the changes we made affected other services, so suggested separating the Reseller Portal from the monolithic system, and as a result, making it more manageable.

The process of separation took 6 months. At first, we copied the project’s codebase into a dedicated repository and began to cut off unnecessary components to leave only essential modules. At the same time, we were developing new features, making changes to the original system and transferring them to the copied repository. 

Tech Stack

  • Node.js Node.js
  • Elastic Search Elastic Search
  • MySQL MySQL
  • Ember.js Ember.js
  • Redis  Redis

Our results

  1. The Decoupled System With Fewer Dependencies: the Mission Control service  became more modular and flexible, which also improved its resilience to changes and updates.
  2. The System That Can Be Supported by Fewer Development Resources: the decoupled and less dependent system became significantly better manageable, and as a result, requires fewer resources for support and maintenance.  
  3. Customer Satisfaction and Continued Collaboration: now, SPD Technology keeps working on the development and improvement of the different services within the client’s ecosystem.