Medusa предлагает впечатляющее количество функций электронной коммерции, доступных как в пакете Medusa, так и отдельно в виде независимых модулей. Это третья часть из четырех частей, в которых предыдущие части рассказывали об основах Медузы, их видении и истории. В этой части будет дано краткое описание некоторых коммерческих модулей и функций, которые они предлагают. В заключительной части будет подробно рассказано о том, как работает Medusa Admin.

Ссылки на другие мои статьи вы найдете ниже:

Модули и функции

Для получения более подробной технической информации о том, как работают коммерческие модули и функции Medusa, вы можете посетить документацию команды по адресу: https://docs.medusajs.com/

Корзина и оформление заказа

Поставляется с базовой функциональностью корзины, позволяющей пользователям легко добавлять, обновлять и удалять элементы. Разработчики могут выбрать интеграцию любого стороннего поставщика способов доставки и оплаты во время оформления заказа либо с помощью существующих подключаемых модулей, либо путем создания своих собственных.

Заказы

Клиенты размещают заказы на покупку продукта. Администраторы могут управлять заказами, например, фиксировать платежи и выполнять элементы в заказе. Администраторы также могут редактировать заказ, добавляя, удаляя или обновляя заказ либо принудительно, либо с помощью подтверждения от клиента. Также возможно создавать черновые заказы, а также возвращать, обменивать и заменять заказы новыми.

Мультисклад

Medusa недавно обновила свой модуль Multi-Warehouse, который позволяет продавцам управлять запасами и хранить товары в нескольких местах в одном и том же торговом приложении. Через страницу администрирования (см. следующую статью) также легко управлять тем, из какого места распределять продукт по заказу или куда возвращать товары.

Клиенты

Клиенты могут делать покупки в качестве гостей или создать учетную запись. Они могут совершать покупки как гости, но также могут управлять историей заказов и деталями как владельцы аккаунтов. Администраторы могут сегментировать клиентов на группы, что позволяет легко направлять маркетинг и скидки для определенных групп.

Продукты

Администраторы, использующие Medusa, могут управлять неограниченным количеством вариантов продукта. Продуктами можно управлять путем изменения цены, запасов, сведений о продукте и т. д., а разработчики также могут вводить пользовательскую информацию о продукте. Продукты также могут быть организованы по категориям, что позволяет клиентам осуществлять навигацию и фильтрацию во время просмотра.

Подарочные карты

Медуза работает с подарочными картами по-разному. Покупатели могут как покупать, так и использовать подарочные карты на витрине магазина. Разработчики могут реализовать пользовательскую логику для отправки подарочных карт конкретным клиентам, а также реализовать профили доставки, которые специально обрабатывают выполнение карты. Также можно создавать собственные подарочные карты с помощью страницы администратора.

Прайс-листы

Прайс-листы — это специальные цены, применяемые к продуктам на основе набора условий. Прайс-листы можно использовать для одновременного добавления специальных цен или переопределения текущих цен на определенные продукты. Разработчики могут изменять логику ценообразования по умолчанию и реализовывать собственные решения для отображения цен клиентами таким образом, что может ускорить работу администратора по сравнению с изменением цен на отдельные продукты.

Регионы и валюты

С помощью Medusa очень гибко обрабатываются регионы. Администраторы могут указывать неограниченное количество пользовательских регионов. Каждый регион может иметь собственный набор настроек, таких как валюта, платежные шлюзы, поставщики налогов и т. д. Валюты могут быть связаны с одним или несколькими регионами, и разработчики полностью контролируют цену продукта в каждой валюте и регионе. Клиент в определенном регионе автоматически получит информацию о продуктах, ценах, вариантах доставки, налогах и многом другом для этого региона.

Налоги

Налоги тесно связаны с регионами, поскольку они часто различаются географически. Medusa предоставляет поставщика налогов по умолчанию для расчета ставок, но разработчики также могут интегрировать собственные решения.

Каналы продаж

Medusa позволяет использовать большое количество различных каналов продаж, таких как интернет-магазин, мобильные приложения или прямые продажи через платформы социальных сетей. Для каждого канала можно выбрать, какие продукты принадлежат каналу, и продукты могут быть доступны на нескольких каналах одновременно. Каждый заказ связан с определенным каналом, что упрощает управление и контроль.

Механика Медузы

В каждом модуле, описанном выше, Medusa использует набор абстракций в своей архитектуре. Этот раздел призван объяснить общую архитектуру коммерческих модулей Medusa.

Безголовая архитектура

Как упоминалось ранее, Medusa — это безголовый бэкэнд, построенный на Node.js поверх Express. В базовом пакете Medusa вы получаете доступ ко всем коммерческим модулям, таким как заказы, инвентарь, корзина и продукты.

Организации и услуги

Серверная часть подключается к базе данных, в которой хранятся данные интернет-магазина. Таблицы в базе данных представлены сущностями, созданными поверх Typeorm. Примером может служить объект заказа, который представляет таблицу заказов в базе данных. Для управления eобъектами создаются сервисы в виде классов TypeScript или JavaScript с служебными методами для извлечения и других целей. Доступ к сервисам можно получить через серверную часть Medusa посредством внедрения зависимостей, и они представляют собой своего рода связанные вспомогательные методы, которые представляют определенную сущность функциональности в Medusa.

Конечные точки

Вместо тесно связанного внешнего интерфейса, как в случае с традиционными платформами электронной коммерции, серверная часть Medusa предоставляет конечные точки, которые представляют собой REST API, используемые внешними интерфейсами, такими как витрины или интерфейсы администратора. Каждый коммерческий модуль содержит набор конечных точек, специфичных для предоставляемых им функций и доступных в серверной части Medusa.

События

Medusa также использует архитектуру, управляемую событиями, для управления событиями. Когда происходит действие, например размещение заказа, запускается событие. Для обработки события Medusa подключается к сервису, реализующему модель pub/sub. Сообщения, отправленные моделью pub/sub, получают подписчики. Подписчики — это классы TypeScript или JavaScript, которые добавляют свои методы в качестве обработчиков определенных событий. Затем эти методы обработчика выполняются только при возникновении события. Используя пример размещения заказа, служба, связанная с заказом (издатель), затем отправляет сообщение на склад (подписчик). которые инициируют отгрузку, обновляют запасы и уведомляют клиентов.

Загрузчики и плагины

Серверную архитектуру Medusa можно настроить в соответствии с индивидуальными требованиями, при этом такие ресурсы, как сущности, сервисы и конечные точки, создаются без изменения серверной части. Загрузчики используются для загрузки как Medusa, так и пользовательских ресурсов, таких как плагины, которые можно упаковать для повторного использования в других бэкендах Medusa или опубликовать для использования другими. Существующие плагины также можно установить в серверную часть Medusa.

Чтобы узнать больше об админке Medusa, прочитайте следующую статью: