- 1.5+ Years of cooperation
- 3k+ Tasks done
- 50k+ Hours of Development
Verkter: Migration to Magento 2, PWA Development
Client Profile
Name
Verkter
Project Length
2021 – ongoing
Industry
Tools for home and industry
Business Size
Medium, 6 storefronts, 20.000 daily users
Product Catalog
50.000
Project’s Goal
Migration to Magento 2
Business Problem
The client’s Magento 1 installation had been heavily customized with solutions that were not originally designed to work together. As a result, numerous performance and compatibility issues arose. Customers began to complain about slow load speeds, checkout issues, and bugs during the shopping process.
Challenge
We faced the challenge of migrating six stores to a newer, PCI Compliant system while retaining the Magento 1 backend for order processing. This decision was made to ensure that the client’s operations, which were well established and effective, were not negatively impact, resulting in reduced sales and customer satisfaction. We had to come up with a solution that could help to migrate 6 stores to Magento 2 with an operational center on Magento 1, where store admins could manage order processing, labels, invoices, etc.
Another concern for the client was the need to retrain staff, about 30 people, to work with Magento 2, which would be time-consuming. Additionally, as the site was full of custom and unnecessary functionality that wasn’t 100% compatible with each other, our team had to help the client develop a new approach to everyday business operations. This approach aimed to make stores faster, bug-free, and optimized for improved customer satisfaction.
Project Goals
- Switch frontend to a new Magento 2 platform – to have better performance, modules support, security patches.
- Use Magento 1 as a backoffice, secure it and restrict it from outside.
- Use PWA studio venia template as the main theme.
- Add SPIX service to the ecommerce system.
The main idea of the project was to let the client’s staff continue using Magento 1 for internal needs but allow customers to make safe purchases on Magento 2 with all the benefits of a new platform.
Solution
The client had 6 different stores that needed to be connected to the Magento 1 backend, and our team proposed using Microservices (PWA) as the most advanced and strategically correct migration option.
PWA is an excellent option for websites with multiple stores and regional store views. It enables the configuration of store views in different environments based on their load, allowing for separate updates. Deploying new features on one store does not affect the others, which makes it an ideal solution for complex e-commerce projects like this one.
The most important thing about PWA is that it separates Storefront and Backend, using an API (GraphQL) as a connector. It also uses all sorts of caching and local storages to keep users data, before pushing into the main database.
For this project, we developed a new frontend using the Magento 2 platform. However, we decided not to use the admin area of Magento 2, and instead opted to manage all product, customer, and order management in the Magento 1 dashboard. Magento 2 was only used as a transfer system from M1, while the frontend was migrated to a new PWA solution. This allowed users to browse the catalog and make purchases on the new frontend.
Reasons Why We Offered a PWA Solution
The ability to put Storefront and Backend onto different servers, depending on their load.
It’s possible to integrate different CMSs, ERPs, Apps to the same Backend.
Separate changes deployment to different store views.
The client may avoid using Magento default backend, and build a custom dashboard for all the departments instead.
PWA causes less issues with Magento core updates. It won’t mess or break any storefront features, even when using custom functionality.
New Business Environment
PIM Integration
To meet the client’s requirements of using Magento 2 solely as a frontend and managing internal operations in Magento 1, we integrated Akeneo, a Product Information Management system, to transfer and sync data between Magento 2 frontend and Magento 1 backend.
We integrated a PIM solution that centralizes and organizes product information to connect the Magento 2 frontend and Magento 1 backend as part of our PWA approach. We also developed a custom Akeneo connector to integrate the product information management system to the backend.
ERP Solution
Due to the high load of internal operations, we separated the backend from the storefront server using PWA technology. This approach allowed us to create a custom ERP solution that could handle up to 20 daily admins managing orders, shipments, packing slips, and other internal tasks. Additionally, we were able to connect third-party systems, such as PIM, directly to the backend.
One of the advantages of this custom ERP solution is that if the company decides to switch any of their systems, employees can continue working with the same custom-built back office without any disruptions.
New Order Processing
1. Akeneo PIM syncs the products with Magento 2.
2. The orders are placed directly on Magento 2 through the PWA frontend, while customers receive emails from Magento 1. In the meantime, all order processing remains the same on Magento 1 until the client is ready to transition all processes to Magento 2.
3.The order and customer information will be synced to M1 after an order is placed, while payment will be synced directly to the payment gateway.
4. All the manipulations to M1 order will lead to:
A. an email to a customer from M1 (when needed)
B. a sync back to M2 – so that customer were able to see all the changes to the order in “My account”
5. When a shipment is created in M1, it will be automatically synced to the shipping services, and the M2 order will also be updated to reflect the changes in the customer’s account.
6. The template will be built based on the PWA Studio for the project.
SPIX Integration (Stock- Pricing- Inventory- Xml service)
We used a new order management aproach by integrating Magento 2 as the frontend and Magento 1 as the backend through SPIX integration. This service is independent of any other system instance and is seamlessly integrated with Magento 1/OMS and PIM.
The service receives data from suppliers and processes it through the flow. When an order is placed through the Magento 2 frontend, the quantity is not decreased but instead reserved to ensure availability. The order is then passed to OMS where the admin creates a shipment. Upon shipment creation in OMS, the following steps occur:
- Shipment data is passed to Magento 2
- Quantity is decreased in Magento 2
- Reservation is removed
- Order is marked as completed
- Magento 1 sends quantity decrease information to SPIX, indicating the specific SKU and warehouse affected.