Back to case studies

E-commerce system for distribution business

1 Project Manager
2 Back-end developers
1 Front-end developers
1 QA

4+ years, ongoing

Java 8, Spring JDBC Template, MS SQL, Jenkins, Amazon API, eBay API, AngularJS

E-commerce system for distribution business

E-commerce system for a distribution business which manages products and orders across multiple marketplaces. ZappySales is a platform that optimizes the process of selling high SKU catalog via various marketplace channels.

Our goal

Our goal was to build a system able to buy products from a bulk seller and sell them on various marketplace simultaneously.

Technical Challenges and solutions

1.Database normalization

In dropshipping business, databases powers the system. Our project has one database that combined all the information about orders, clients, and products. When bulk vendors change the price of the product, the system updated the whole thing. We’ve got a high number of deadlocks as other functions were making requests to the database.

To overcome the issue we have done database normalisation. Our team created a new database with a clear structure that contained only prices for every item. Therefore, updates were performed separately, not overloading the main database.

Our task was to change the java code for functions dealing with prices in the system. We changed business logic and updated about 1 000 000 items on every marketplace. This challenge allowed us to play with logic and to accelerate connections between stores and system.

2. Change vendor logic

According to the business logic, when a client orders a product via the store, the system sends a request to the vendor assigned to this product. However, we figured out such an algorithm doesn’t bring maximum profit. Since we had vendors with similar product but lower price.

With new business logic, after the client makes an order, a system in a runtime monitors identical products from all the vendors and assign a request to the one having the lowest price.

3. Delete duplicated items from marketplaces

Since we had similar products assigned to different vendors, we were selling duplicate items in one store. As we changed business logic, we had to eliminate duplications.

The challenge was to dig in the database and save dependencies product names. For example: 'SomeBrandName' has relation to 'SomeNameBrand Inc'. This task was done using SQL. We added two new tables which stored relation between brand names.

  • - first table stores «VendorBrandName», «brandId»
  • - second table stores «BrandName», «brandId»
  • - new column «brandId» we added to our inventory table
Next step was actually to merge existing items by having brand names relations.

We came up with the new business logic to decide which items to keep and which to delete. After determining we removed duplicate items from marketplaces and linked them in our system with remaining ones.


Our team managed to deliver a complex solution for e-commerce workflow automation. The system structure consists of three modules: Module that handles flow between the marketplace and bulk sellers, vendor dashboard and product manager dashboard.

Workflow module orchestrates orders. There are two flows of functions, first of all, the system receives orders from the different marketplace and process them (filter, calculates profit and selects vendor with the most favorable price) and send submitted order to the seller. When the seller formed order and send it to the buyer, the system receives an invoice that further goes to buyer account on the marketplace.


E-commerce system for distribution business
E-commerce system for distribution business
The second flow is responsible for updating the system. Bulk vendors send updated prices and inventory, which system later updates on the marketplace. Vendor dashboard allows managers to manage orders manually and verify suspicious ones. Product manager dashboard is an interface where managers can change/add photos, description of the product and price.
  • Igal Rubinshtein, CTO


    The platform enables an effective workflow and the internal team is highly satisfied. Sombra goes above and beyond to accommodate all needs, while their commitment and ability to work as part of an in-house team contributed to the ongoing relationship.