Monin Inc. is an international company that develops and sells flavored syrups, concentrates, and mixers for beverages used by bartenders worldwide. Their website was originally built on Magento 1, but with the end of life for Magento 1 approaching, they sought help migrating to Magento 2.
We successfully migrated over 25 custom modules from Magento 1 to Magento 2, handling features like custom shipping methods, store selection based on location, product pricing rules, and generating PDFs or Pinterest images for recipes. Each module was optimized for performance and security, and new business rules were implemented while improving code quality by using PHPSC (coding standard for PHP).
A key challenge was the lack of documentation from Magento 1, requiring careful analysis to replicate and improve each module. We utilized PHP Composer and Packagist to manage the selective installation of modules across different regional stores (e.g., France, US), each with its own Git repository. We followed Magento 2 standards closely, integrating CI systems for automated testing and validation of code quality using PHPUnit and Codeception.
In addition to module migration, we updated the site's template to meet Magento 2 standards and integrated a WordPress section into the Magento site using a third-party extension. We also developed custom category displays and integrated a recipe module that fetches data from an external API.
To manage the development environment, we used Lando, ensuring consistency in PHP, MySQL, Redis, RabbitMQ, and NodeJS configurations. Data migration from Magento 1 to 2 was handled carefully using the Magento migration tool, with custom steps added to ensure the correct migration of third-party and custom module data.
The site is hosted on Platform.sh, a PaaS that automates deployments, minimizing downtime when new code is pushed to the repository. Post-migration, we continue to maintain the system, improving performance using tools like Blackfire and New Relic.
Rediseño y mantenimiento de PWA
En el año 2021 se rediseñó todo el frontend del ecommerce utilizando una aplicación PWA creada con React. El backend del ecommerce sigue siendo Magento 2 combinando GraphQL para interactuar con la base de datos. Durante este mantenimiento seguimos trabajando principalmente en tareas relacionadas al equipo de marketing, promociones y landing pages. Frecuentemente seguimos el mantenimiento preventivo de Magento aplicando actualizaciones en el framework y las extensiones.
Visite el sitio en vivo:
EE.UU: https://www.monin.com/us/
Latino America: https://www.monin.com/spa/
Canada – Ingles: https://www.monin.com/ca/
Canada – Frances: https://www.monin.com/fr-ca/
Technologías
- Magento 2 Enterprise: es la versión comercial de la aplicación e-comercio de código abierto más popular.
- Lando es un contenedor gratuito y de código abierto para Docker, que nos permite usar contenedores acoplables con una sola configuración de archivo.
- Docker Compose es una herramienta para definir y ejecutar aplicaciones Docker con múltiples contenedores.
- Packagist es el repositorio de paquetes predeterminado de Composer. Utilizamos paquetes privados.
- Composer es un administrador de paquetes a nivel de aplicación para el lenguaje de programación PHP que proporciona un formato estándar para administrar las dependencias del software PHP y las bibliotecas requeridas.
- Platform.sh PaaS para alojamiento de aplicaciones web, desarrollo e implementación en la nube con PHP
- Wordpress es un sistema de gestión de contenido (CMS) gratuito que se utiliza para crear sitios web y blogs.
- Amazon Web Services (AWS) es una plataforma segura de servicios en la nube, que ofrece potencia informática, almacenamiento de bases de datos, entrega de contenido y otras funcionalidades para ayudar a las empresas a escalar y crecer.
- Magento WebAPI es un marco API REST proporcionado por Magento
- Node.JS es una plataforma de desarrollo de código abierto para ejecutar código JavaScript del lado del servidor.
- Redis es un almacén de estructura de datos en memoria de código abierto (licencia BSD), que se utiliza como agente de base de datos, caché y mensaje.
- RabbitMQ es un software de corretaje de mensajes de código abierto (a veces llamado middleware orientado a mensajes) que originalmente implementó el Protocolo avanzado de mensajes en cola (AMQP)
- PHP (preprocesador de hipertexto) es un lenguaje de script de uso general de código abierto ampliamente utilizado
- MariaDB 10 es un motor de bases de datos relacionales de código abierto (DBMS) que es un reemplazo compatible compatible con la tecnología de bases de datos MySQL ampliamente utilizada.