In this session we present how we created the biggest Drupal Commerce 2 site in the world, in record time. How does Commerce 2 enable us to develop advanced features faster, and what were our biggest challenges scaling an online store to tens of millions of products?
Akademika is the book store for the university sector in Norway which more or less all students in universities and university colleges use to buy their curriculum. Their current website is old, and runs on Drupal 6 (Pressflow) and Ubercart. The need to upgrade became critical when they signed with yet another University college with their own requirements. We were tasked with creating a new website based on Drupal 8 and Commerce 2. So, we set out to modernize the technical stack, while maintaining the existing set of features. However, the combination of groups of students belonging to different institutions, a range of physical stores and an online store comes with its own unique challenges:
- The product catalogue is huge (around 10 million books)
- There are several sources of product import
- Number of product updates per day is around 200 000
- There are several groups of people needing their own prices, and this should change prices and not add discounts
Furthermore, the site has a range of integrations. For example:
- OCI based Round Trip/Punch Out integration with procurement systems, that generate a "fake cart" they can convert to an order in customers procurement system
- Integration with a loyalty program that should make it possible to get "in-store offers" in the physical store
- Integration with a digital book provider for buying and downloading books through the website
Join us for this session where we will elaborate on our challenges implementing the new version of Akademika. What were the pros and cons of choosing Commerce 2 and Drupal 8 as our platform? What were the bottlenecks for us when launching a site of this scale? How did the project contribute to Drupal and Commerce, and how can the Drupal community benefit from this work?