Our First Attempt on Magento 2 Development

Compare to Magento 1, the second generation excites both developers and store admins alike. Magento 2 adopted one of the five software design principles – Dependency Inversion to standardise Magento customisation, and Knockout JS to help address the problematic Ajax calls in Magento 1. The future readiness of Magento 2 is the main reason why we decided to take such technology leap.

The Story

In late 2015, one of our clients has decided to move their online store away from high maintenance custom coded SilverStripe platform. Apart from steering away from expensive ongoing maintenance, there were quite a few functionality requests that led to no other platform but Magento.

Firstly, an automated customer journey where a customer can be touch-based according to the time frame from their initial purchase: first impression, product review, feedback and birthday gifts, etc. On one hand, this helps engaging customers, on the other, it could benefit them remarkably in the area of product development.

Secondly, this client has a well established wholesale network nationwide, and they were hoping the web store could also tailor a wholesale section where resellers can log in and place orders as quick and easy as possible, without the ‘hassle’ of going through consumer faced product categories and listings.

Thirdly, as their business started to expand they are planning to integrate web store with inventory, accounting, the occasional usage of POS, and other marketplaces such as eBay. This could potentially cut down operation footprint dramatically because lots of human errors were happening when each of the sales channels had to be managed separately.

Last but not least, based on the fact that this client constantly develops new product lines, there will be a need to have part of their product categories to be rendered in a totally different front end design and its own branding guidelines. In layman’s term, we need multiple small websites to be hosted within a large website, while all of them should be managed in one place.

Challenges & Solutions

Since Customer Journey requires marketing emails to be sent based on predefined triggers such as 3 months after purchase, a week before a client’s birthday, 24 hours after a customer abandoned the shopping cart, etc. We needed a third party email software to work with Magento to share it’s customer and eCommerce data since Magento has very limited marketing email capability.

In the beginning, we were hoping to use Campaign Monitor as it was our choice for the weekly newsletter. However at that time, CM wasn’t ready for Magento 2, and it never made clear whether it’s on their road map so we had to give it up and adopt MailChimp, which has well developed marketing email automation perfect for what we intended to do.

Our developing concept has always been less custom coding and more integration, but we are fully capable of building our own modules when needed. The wholesale section of the online store is a good example: it loads products in the listing format under each category. All categories are listed in one dashboard, with user friendly accordion interface to expand and close each product listing. As a result, all products are under one location, resellers can log in and quickly place purchase orders.

Many successfully retail business often seek new opportunities to expand their business. From a business owner’s perspective, it’s good to have all the product to be managed in one website; however, from customers’ point of view, they prefer online stores to be less cluttered and well supported by relevant contextual information to help them make informative purchases.

Such contradictory has led to the concept of having websites, stores and store views as the main building block of Magento: websites can be considered as different departments of a large merchandise, stores and store views can be used to represent product categories that needs to be sold separately, and in many cases, they require a different style or even branding.

So for the last request mentioned above, Magento handled it perfectly. We tackled the challenge by creating additional store views and associated them with new theme designs, all the eCommerce features we built earlier can be shared across different store views. This really a future growth proof solution for eCommerce development – a reusable coding concept that originated from OOP (Object Oriented Programming) and MVC software architecture.

Features At a Glance

  • Payment options: retail has PayPal, AfterPay and Credit Card, wholesale has PO as an additional option.
  • Integrated eCommerce and email marketing.
  • Customer journey such as welcome emails, abandoned cart follow up, purchase follow up, product review requests, birthday gifts, etc.
  • Multiple store views for products to be sold separately, each store view has its own front-end design.
  • Ajax cart for a smooth/non-interruptive shopping experience.
  • Simplified checkout to reduce the chances of abandoned carts
  • Quick product view improves engagement.
  • Customised enquiry forms with enquiry records.
  • Catalogue price rules, shopping cart price rules and coupon codes together create unlimited promotional ideas.
  • Store locator to find registered resellers nationwide.
  • Dedicated hosting.

By Ethan

To many, a business is a lifetime commitment. It's easy to start one yet difficult to make it successful. Attitude, skills, experiences and dedication help hone the craft along the way, but it's often the great vision and resilience to remain focused wins the game. Read more about me here