E-commerce system for a distribution business that manages products and orders across multiple marketplaces. ZappySales is a platform that optimizes the process of selling high SKU catalogs via various marketplace channels.
E-commerce system for a distribution business that manages products and orders across multiple marketplaces. ZappySales is a platform that optimizes the process of selling high SKU catalogs via various marketplace channels.
USA
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 normalization. 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 accelerate connections between stores and systems.
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 products but lower prices.
With new business logic, after the client makes an order, a system in a runtime monitors identical products from all the vendors and assigns 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 into the database and save dependencies’ product names. For example: ‘SomeBrandName’ has a relation to ‘SomeNameBrand Inc’. This task was done using SQL. We added two new tables which stored the relation between brand names.
– first table stores «VendorBrandName», «brandId»
– second table stores «BrandName», «brandId»
– new column «brandId» we added to our inventory table
The next step was actually to merge existing items by having brand name relations.
We came up with a 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 the remaining ones.
Our team managed to deliver a complex solution for e-commerce workflow automation. The e-commerce system structure consists of three modules:
The workflow module orchestrates orders. There are two flows of functions, first of all, the system receives orders from different marketplace and process them (filter, calculates profit, and selects vendor with the most favorable price) and send the submitted order to the seller. When the seller formed an order and sends it to the buyer, the system receives an invoice that further goes to the buyer’s account on the marketplace.
The second flow is responsible for updating the system. Bulk vendors send updated prices and inventory, which the system later updates on the marketplace.
The vendor dashboard allows managers to manage orders manually and verify suspicious ones.
The product manager dashboard is an interface where managers can change or add photos, descriptions of the product, and prices.
Fill in the form to explore the services suited
to address your current business challenges.
Chris Garbacz
Co-founder, StudioNinja