Case Study

How have we been developing an eshop that regularly wins the ShopRoku (shop of the year) competition for 10 years?

Basic information about the project

  • Eshop and publishing house focused on the sale of Christian literature (printed publications, e-books, audiobooks, e-journals) and accessories.
  • 5-time finalist and 3-time winner of the ShopRoku award in the Books and E-reading and Entertainment categories.
  • A company with 6 internal employees, dozens of external collaborators and an average shipment of 30,000 kg of books per year operating since 2013.
Visit their website

In the case study on you'll find out

  • What is the eshop's sales philosophy and what distinguishes it from other online stores,
  • how we can simultaneously improve technologies and deliver new functionalities,
  • and what role communication with the customer plays in the development.
How does an eshop become a multiple finalist of the ShopRoku competition?

How does an eshop become a multiple finalist of the ShopRoku competition?

The ShopRoku competition has been organised by the popular price comparison web Heureka since 2009. At that time, department stores were also ranked among the participants, but later the organizers decided to focus only on the online space. Today, eshops can receive 4 different types of awards in 13 categories, depending on the type of goods sold.

The most valuable award of the competition is probably the Quality Award. Heureka automatically includes all online stores that use the certified Heureka Customer Verified service. The criteria are, in particular, customer satisfaction expressed through questionnaires, the percentage of customers recommending an eshop, as well as the number of reviews or the total number of products. And it's here that stands out so much that it has already been among the finalists 8 times.

The eshop is fully focused on users and their shopping experience. It's built in particular on four pillars:

Customer opinion

Customer opinion

The eshop collects customer feedback, evaluates it and takes the conclusions from it into account when further developing or expanding the product offer.

At the same time, it displays verbal and "star" user reviews of each product. It also adds more extensive reviews to the products, which are written by its own team of authors and published on the blog.

Expert customer support

As this is a content-specific eshop, each employee undergoes thorough training to be able to provide customers with really useful help and recommend the right product according to their requirements.

There are several ways for shoppers to contact the support. During working hours, they have a call center with a discounted price for calling. Outside working hours, they can use a live chat, contact form or email.

Eshop administrators respond to every single user query in the shortest possible time.

Product availability

Product availability

In order to ensure the fastest possible dispatch of orders, the eshop cooperates with a distribution company that can cover fast and efficient delivery even with a large number of orders.

Thanks to an active connection of the eshop with the distributor's warehouse system, the store always displays the real stock level. The distribution company constantly informs the eshop about the current state of the warehouse. The eshop sends back data on the number of booked products from recently created orders.

At the same time, functionalities for the most transparent order management are implemented in the administration of the eshop, such as:

The possibility to filter orders according to various criteria

Shipping method, order status, keyword, date of creation, payment, etc.

Purchase detail showing the entire order process

A complete record of how and when the status of an order changed from received to delivered.

Customer information detail

If it's a registered customer, the system displays the percentage discount according to the customer group to which they belong.

The possibility of additional change of data in the order already sent by the customer

In the event of a customer request, it's possible to additionally modify the delivery address, billing address, delivery method or even add/replace a product.

Possibility of additional redemption of the customer wallet

Registered customers get 3% of their spend back to their Zachej Wallet for each order. They may later convert the collected money into a discount in the basket at a certain time. If they forgot to apply it, all they need to do is contact the support. Administrators can then, at the customer's request, add a discount to the order later.

Special section for expedition

It's used primarily by co-workers from the distribution company, who have access to it through their own accounts. Within it, it's possible to monitor, for example, the number of pieces or the weight of goods, or to send information about orders to external freight forwarding systems, such as Packeta, GLS or Slovak post office. Another plus is the possibility of printing their own labels by a thermal printer.

Warehouse status overview

Based on this information, the eshop staff can check whether there was a problem when updating the warehouses.

Unique content

Unique content

To make it as easy as possible for customers to choose the right product, eshop staff create unique content for almost every product. For example, for books, they take up to 4 photos from different angles, thanks to which the customer can better imagine the type and thickness of the binding and its format. They also add a link to partially browse through the publication, annotation or a part of the text itself. For audiobooks, a preview to listen to is usually available.

Each of these pillars is based on a number of functionalities that help to improve the customer shopping experience to the maximum. In addition, there's also an emphasis on browsing speed and constant availability of the eshop. That's why in our development, we pay attention to technological up-to-dateness and at the same time to the constant implementation of new elements.

How does technological update and development of new functionalities take place at the same time in the eshop?

How does technological update and development of new functionalities take place at the same time in the eshop?

Eshop went under the administration of after another supplier in 2013. At that time, it was built on the PHP language, which, however, had a huge technological debt and would cause complications with the planned redesign.

After the initial analysis, we therefore decided, in agreement with the customer, to link the store with the React framework and subsequently program the API. At that time, the solution seemed to be the most effective way to improve the speed and availability of the eshop, and it worked until 2019.

However, then the Next framework began to technologically overtake React, which again offers slightly higher speed, availability as well as security. Therefore, based on communication with the client, another technological update was planned.

How is exchange of technology carried out?

The exchange of technologies itself took place gradually, on a sub-page by sub-page basis. First, static pages such as Contacts or information about the loyalty program were rewritten into the new framework. Subsequently, functionally more complex components were reworked, and finally the cart, which is the most important element for an eshop.

After overwriting, each page or feature was first deployed to the beta server. After thorough testing, it then smoothly replaced the original content, without any outage of the eshop. In total, the exchange of frameworks took several months. The result is an improvement in the key values of the page, such as pagespeed, or a more optimal display on all browsers.

The last major technological change was the linking of the blog. It runs on the WordPress administration system and has so far been completely separated from the main eshop. However, the client was interested in greater integration of these two systems, so we proposed their interconnection via API.

Thanks to this, the speed of the blog has increased and its design has adapted to the main page. In addition, administrators were given the opportunity to link to individual, product-related articles directly from the product subpage. However, blog administration still remains in the WordPress environment, thanks to which authors can continue to do their work as they're used to.

How does the user experience get improved?

How does the user experience get improved?

Technological optimizations are something that will affect the speed of the website or the more efficient use of its resources, but customers will notice these changes only minimally. That's why, in addition to exchanging frameworks, it was necessary to constantly work on design and new functionalities.

At the same time, therefore, a complete redesign of the eshop was underway in order to improve UX, i.e. the user experience of the site. The designs of individual components were gradually created in, then they were consulted with the customer, and after approval they were tested and implemented on the live version of the page. The emphasis was mainly on the mobile version, because a high percentage of customers visit the eshop from mobile devices.

Along with the redesign, the implementation of new functionalities such as intelligent product recommendations, gifts for purchase, a new offer of e-titles, audiobooks and gift vouchers or delivery of purchases abroad is constantly ongoing.

How does the development team work with the customer?

How does the development team work with the customer?

Such intensive development of an eshop wouldn't be possible without a stable team that knows its technologies, and at the same time can look at it through the eyes of the target user. Therefore, two full-stack developers are constantly working on the project. In addition to the development itself, they're also responsible for the analysis of new functionalities and communication with the customer. A volume of 160 hours of work per month is carried out on the eshop.

Individual tasks are planned for a period of two-week sprints. All assignments are recorded and available to both parties in the backlog, where the customer can continuously monitor their development. There are usually two types of tasks. The priority are the main ones, the so-called sprint pillars, which have the highest priority for the client. After completing them, it's time for smaller tasks with shorter implementation time or tasks for checks and support. Every day, developers record the status and planned activities and find out if these priorities are properly organized or if something needs to be adjusted. If necessary, active communication with the client takes place via chat.

Tasks and priorities for this project are assigned directly by the client. Since he worked in the IT environment himself, he understands technological procedures and constantly comes up with ideas on how to improve or optimize the eshop. The team then analyzes these ideas and tries to propose the most effective solution to deploy them to the project. In the event that programming their own solution is financially and time inefficient or brings unnecessary technological complications, the team is looking for the possibility of implementing a third-party solution.

Thanks to the properly set up communication between the development team and the client, who is always looking for ways to improve the eshop, is one of the most successful projects that has the opportunity to develop. Together, we're able to constantly move this online store forward in all aspects - from technology through design to individual functionalities.

The result is a unique shopping experience that customers like to repeat and don't hesitate to rate it positively. And customer satisfaction is what ultimately brings the eshop nomination after nomination for the ShopRoku every year.

Technological summary

The most important incorporated modules
  • Product catalog
  • Product parameters
  • Product reviews
  • Categories
  • Bulk export of orders to delivery companies
  • Label making for a thermal printer
  • Synchronization of payments with the payment gateway and when transferring to an account at Tatra banka, VÚB and Slovenská sporiteľňa banks
  • Electronic content management - e-books, audiobooks, e-journals
  • Clear statistics
  • Users management
Technologies used
  • RESTFUL API - Node.js
  • Database - MySQL, Redis, Elasticsearch
  • Frontend - Next.js
  • Server - Nginx
  • CI/CD
  • Monitoring
  • Gitlab
What awaits us in regard to this cooperation?
  • Connection to and AlzaBoxes.
  • Adding QR codes to invoices.
  • Regular improvements to increase the convenience of both customers and administrators.

How does the client perceive the cooperation?

I'm glad that in 2014 I made the decision to entrust the development of the eshop to Bart. Over the years, I haven't once regretted my decision. Their team of developers is always available to me and even in case of problems over the weekend, they were able to respond immediately. Everyone at Bart is a person in the right place and I can rely on them from both the professional and personal point of view. I believe that we'll continue to be able to fulfill the visions that are ahead of us together. In conclusion, I'd summarize it all in the answer I recently wrote to our main developer Bianka, asking how satisfied I am with the cooperation. "I'm completely satisfied".

Jozef Ring
Jozef Ring
Chief Executive Officer

Lecture by Jozef Ring on the redesign at the Web meetUP event (May 2018)

Do you like how we develop Contact us
Contact us 👋
👍 Sent successfully Your message was sent successfully. We will contact you as soon as possible.
😞 Ops! Something wrong. There was an error submitting the form. Repeat the action later.