Project summary: the system provides meticulously customized monitoring of competitors’ stores and allows automatic optimizing the prices of the goods according to certain rules in real time.
For instance, you can set a rule so that the prices in your store are always lower than the competitors’ prices by a certain value. Let’s say 1$ or 1 %. In this case the system will monitor your competitors’ prices regularly and promptly underbid prices on similar products.
The competitors’ web sites are scanned with the specific application (crawler), which collects necessary information and saves all information on found products in system database. Crawler can be run either on schedule or on system client’s request. There’s the whole store and certain products scan support.
While scanning a marketplace (for example: Amazon, Ebay, Pricerunner) the system automatically finds your competitors, who have analogous products as you do. The system informs a user not just about existing competitors, but also about new ones. After that the user is able to add a new competitor into the system and customize new price changing rules for user’s products.
The system provides access to charts, graphs, which allow to analyze current situation easily and to build a business development strategy, based on collected information and the history of changes.
The system consists of two independent applications: web application and crawler.
1. Web application is an application which the user interacts with: sets up his dashboard, adds competitors, sets products price regulation rules, controls product scanning.
Backend is implemented on Java using Spring. Database MySQL is used in the system, Apache Solr is used for quick access to data. The application is divided into modules, which could be expanded on separate servers, RabbitMQ is used for connection between the modules.
The frontend is developed with ExtJS and Bootstrap.
KeyCloak server provides protection.
2. Crawler is a separate application, which scans internet stores. It is developed in Scala with using Apache Spark framework.
Parsing scripts are written for most cms stores. These scripts analyze a store structure, find information about products, save information in database. For parsing new and non-standard cms there’s a possibility to specify individual parsing rules using a certain pattern.
Our team was responsible for the development of new highly loaded system components, legacy code refactoring and unit tests application coverage.
Backend: Java EE, Hibernate, JPA, Spring, KeyCloak, MySQL, Solr, RabbitMQ, Jackson, Apache Tomcat.
Jira, HipChat, GitHub, Jenkins, Maven.
Company’s achievements during the project: