Розробка кастомного плагіна Medusa.js

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Розробка кастомного плагіна Medusa.js
Середня
~3-5 робочих днів
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    874
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851

Розробка кастомного плагіна Medusa.js

У Medusa 2.x поняття «плагін» трансформувалось в Medusa Module — незалежний пакет зі власними моделями, сервісами, міграціями. Плагіни можуть публікуватися в npm та підключатися в medusa-config.ts. Це відрізняє підхід від v1, де плагіни були більше монолітні.

Структура кастомного модуля

packages/my-module/
├── src/
│   ├── index.ts              # Точка входу
│   ├── models/               # MikroORM сутності
│   │   └── custom-item.ts
│   ├── services/             # Бізнес-логіка
│   ├── migrations/           # DB міграції
│   └── types/                # TypeScript типи
└── dist/                     # Скомпільований JS

Визначення моделі

const CustomItem = model.define('custom_item', {
  id: model.id().primaryKey(),
  name: model.text(),
  sku: model.text().unique(),
  metadata: model.json().nullable(),
  is_active: model.boolean().default(true),
  created_at: model.dateTime(),
  updated_at: model.dateTime(),
});

Сервіс модуля

class CustomItemModuleService extends MedusaService({
  CustomItem,
}) {
  async listActiveByProduct(productId: string) {
    return await this.listCustomItems({
      product_id: productId,
      is_active: true,
    });
  }
}

Точка входу модуля

import { Module } from '@medusajs/framework/utils';
import CustomItemModuleService from './services/custom-item';

export const CUSTOM_ITEM_MODULE = 'customItem';

export default Module(CUSTOM_ITEM_MODULE, {
  service: CustomItemModuleService,
});

Підключення в medusa-config.ts

export default defineConfig({
  modules: [
    {
      resolve: './packages/my-module/src',
      options: {
        apiEndpoint: process.env.CUSTOM_API_ENDPOINT,
      },
    },
  ],
});

Терміни розробки

  • Простий модуль з CRUD та API-роутами: 2–4 дні
  • Модуль з інтеграцією зовнішнього API: 5–10 днів
  • Складний модуль з workflows та міграціями: 2–3 тижні