Revamping Online Store and Warehouse Management System

Application Development
PHP, ElasticSearch, MySQL, Redis, Docker

Our client is an online retail company offering contact lenses by leading brands, as well as care products for such. This company also has partners who own brick-and-mortar stores in the UK and the EU, where one can consult an eye care professional, get a sight test, and choose the lenses that fit them.

Business Challenge

The client's sales are mostly driven by a system that supports multiple online stores for various countries. This system also helps automate the workflow, from managing inventories to integration with suppliers and global logistic companies.

The existing system used the monolith architecture approach and was based on PHP code. It was fully developed in-house, its first release being back in 2008. Ever since, neither the architecture nor the methods changed much, which made both the maintenance and the development processes quite complicated.

The company was in search of seasoned developers that could:

  • switch from dated language versions to the relevant ones,
  • implement up-to-date approaches to the development process, and
  • add features that would allow the company to achieve competitive differentiation.

Certain employees of the company formerly worked with Software Country, so they referred us and the client’s management decided to also go with us.


As our client was against recreating the entire application from scratch, our main goal was to gradually upgrade it. At the same time, Brexit was drawing near, carrying uncertainties and risks to the processes that had been tuned for years. This meant our team had to promptly deliver new features within an environment of ever-changing requirements.

Another goal was to support the company's online stores as advertising media for contact lens and eye care solution providers. In particular, the Software Country team was to implement features that would automate brand promotions within the stores by both paid and organic (search) impressions.

Promotion Automation

To automate the promotion tools, we decided to leverage storefront internal search integration using Elastic App Search. Unlike regular database requests and result sorting, Elastic App Search is based on a distributed search engine and data analysis system. This provides one with maximum control over the internal search results and enables tuning the result relevance calculation in standalone mode.

Elastic developers have out-of-the-box open source libraries, including those for PHP, which allow one to quickly implement advanced search on a website and make sure it works seamlessly.

To reduce the delays that might occur while expecting response from the cloud service, we also enabled internal cache based on Redis. This gave an additional boost to the request and result processing speed.

Elastic App Search

Implementing advanced internal search led to a higher conversion rate (the rate of purchases against the overall number of website visits)

We also added features allowing ad providers to place banners and popups based on Wisepops, a solution that enables creating and updating ads without editing the app files.

The above measures helped boost the online store monetization and made the advertisers see the store as a more promising opportunity to sell their products.


Due to Brexit, there were some uncertainties in terms of logistics and legal paperwork, as all orders were still processed by a single warehouse in the UK. The client wanted to temporarily open another warehouse in the EU, so as to avoid delivery issues.

To run the new warehouse, one needed to connect it to the accounting and provider integration systems, in the same manner the main store had already been connected to those. The system, however, did not have capacity for that, as everything was tuned for a single warehouse.

We managed to revamp the database structure and the order processing logic in line with the client's requirements to the workflow changes. In particular, when a new order gets created, the system now automatically routes it to the right warehouse and, if needed, requests the item in question from the relevant provider's warehouse.

We covered new features with special tests to ensure reliability and flexibility of the further development process in an environment of ever-changing requirements.


The Software Country team successfully completed all tasks the client set us, including automating brand promotions within online stores and revamping the structure to enable working with multiple warehouses. The project resulted in full or partial update of all core order processing systems. While meeting the deadline, the team also drastically improved the solution's scalability and reliability.

Related Cases

Read all

Online Robotics Simulation Application

An educational robotics kit—a browser app simulating the whole process of building, programming and testing a robot.

Implementing LTI 1.3 for LMS

Implementation of the latest version of the standard, LTI 1.3 and in particular LTI Advantage.

OneRoster 1.2 Integration for LMS

A solution for passing grade information from the LMS to a student information system (SIS)