General information about the client
Target audience
The problem
Preparing for creation
What we did to optimize the CMS
Real-time testing
Results and benefits
What conclusions were drawn and what we learned in the process
The National Bank of Ukraine operates an online numismatic shop, which can be accessed at https://coins.bank.gov.ua/. The shop offers a wide range of products, including:
The website design is laconic - nothing distracts from shopping, but the simple design hides powerful functionality and the automation of warehouse and logistics processes.
The target audience of https://coins.bank.gov.ua/ consists of people interested in numismatics, which is the study or collecting of banknotes, in particular coins, tokens, paper money, and related items. Here are some specific groups that may be interested in the site:
Coin Collectors: These people collect coins as a hobby. They may be interested in the variety of coins on the site, including gold and silver coins, commemorative coins, and coin sets.
Numismatic Researchers: These are people or institutions that study the historical and artistic aspects of coins. They can use the site for information on new issues, historical coins, and special editions.
Investors: Some people buy coins as an investment, especially gold and silver coins. These people can use the website to keep track of new issues and prices.
The Public: The public may also be interested in the site, especially those looking for unique gifts or souvenirs. Commemorative coins or special-edition banknotes would make a unique gift.
History and Culture Lovers: People who are interested in the history and culture of Ukraine may also visit this site, as coins often reflect significant events, figures, and symbols from the country's history.
This is the second attempt by the national bank of Ukraine to launch an online store, which had to withstand an extremely high load—more than 1000 additions to the cart in 1 second. Such a load was created because the quantity of goods is always limited and the time of display of a new limited product is known to all. Therefore, the demand for a single item is extremely high.
The first version of the site that was made before us had difficulties. Although the platform Solomono (basic variation) is quite optimized and can withstand heavy loads, in this case it required additional customization on all levels because it could not withstand the load of this project.
For the creation of an online store of the National Bank of Ukraine was set a period of 6 months. The tasks that were completed before the start:
1. Configured server infrastructure (created about 10 servers)
2. Optimized servers
3. Created custom design
4. Reconstructed design for desktop and mobile devices
5. Finalized a lot of additional functionality according to the T3. For example, when adding an item to the cart, the client has 30 minutes (a timer with a countdown) to place the order. The goods are immediately deducted as "out of stock". For comparison, in other engines, the goods are deducted "from stock" only after the order.
6. Integrated SoloMono API with internal bank systems. We integrated with New Mail, Ukrposhta, Liq Pay.
1. Caching frequent database queries and dividing the cache into short-term and long-term ones
2. Different servers for different online store structures (database, admin panel, front end, mailing)
3. optimization of requests to the database
4. Implementation of a queuing system for working with a shopping cart (adding, subtracting, and removing items) reduces the load on the database.
5. Using a CDN (content delivery network) to display images and all other static files (scripts, styles, and fonts)
shopping cart page
To make testing as comfortable as possible during the operation of your online store, our experts have created a separate dev-server where existing functionality and new developments are tested. Testing can be done by both programmers and the customer.
After the new features are tested, we release the new version on the main website. Then we test the new features on the main site and check the load. The load in the test mode is created by special software.
During testing, bottlenecks were repeatedly identified in various systems - with a significant reduction in bandwidth and loss of a fraction of performance. At different stages of optimization, problems occurred in different parts, e.g. first in the database, then in caching, then in reading within the network, etc. Our experts fixed each bottleneck and tested again.
Product comparison page
As of today, the engine can handle heavy loads of several thousand additions to the cart per minute. This is especially important on days when new coins are released. This was the main problem that other teams could not solve. The result of our work is the uninterrupted operation of the online store, which provides sales of goods at any time.
Mobile version of the online store
Let's be honest: working with the NBU online store was not easy and risky for us, but we learned new things and increased our skills after this project. Discovered the combination of cloud and dedicated servers in a single network, Cloud hosting fine-tuning, replication settings, and automatic configuration of additional servers, if necessary. We learned how to scale horizontally and vertically, figured out how to properly create a server infrastructure, and monitored them.
When creating and promoting an online store, you can't do without auxiliary servic...
Leave your review