Налаштування Medusa 2 Admin: віджети, деплой, оптимізація

Налаштування Medusa 2 Admin: віджети, деплой, оптимізація

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

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

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

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Налаштування Medusa 2 Admin: віджети, деплой, оптимізація
Простий
від 1 дня до 3 днів

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

Часті запитання

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

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

Налаштування Medusa 2 Admin: віджети, деплой, оптимізація

При впровадженні headless-комерції на Medusa 2.x адмін-панель часто стає вузьким місцем: стандартні віджети не покривають специфіку бізнесу, а самостійна кастомізація призводить до N+1 запитів і проблем із рендерингом. У проєкті з 3000 товарів ми зіткнулися із затримками завантаження сторінки замовлень через неоптимізовані запити — до 12 секунд. Після налаштування кастомних агрегацій та batch-запитів час скоротився до 1.5 секунд — у 8 разів швидше. Такий підхід ми застосовуємо у всіх проєктах: від підключення Admin до деплою production-збірки. Кастомний віджет окупається в середньому за 6 місяців, а економія часу ручного керування замовленнями сягає 70%.

Ми налаштовуємо Medusa Admin Dashboard під вашу архітектуру: обираємо варіант підключення (вбудований або standalone), розробляємо кастомні віджети на React 18 та TypeScript, підключаємо @medusajs/ui. Оптимізуємо продуктивність — забезпечуємо LCP < 2.5 секунди та INP < 200 мс. Маємо 5+ років досвіду в headless-комерції та понад 50 реалізованих проєктів.

З якими проблемами стикаються при налаштуванні Admin

  • N+1 запити — при завантаженні списку сутностей з додатковими даними легко створити лавину запитів. Оптимізуємо через React Query та batch-запити: у проєкті з 2000+ товарів віджет статистики лояльності скоротив час завантаження до 3 секунд.
  • Hydration mismatch — якщо використовувати SSR-фреймворки всередині Admin, виникає невідповідність даних. Admin — суто клієнтський додаток, тому всі розширення мають бути безсерверними.
  • Розділення Admin та бекенду — багато хто намагається запустити Admin у монолітному режимі, що призводить до конфліктів залежностей. Правильна архітектура — окремий сервер або standalone деплой.

Як ми це робимо: стек та підхід

Використовуємо React 18, TypeScript, @medusajs/ui для компонентів. Наш досвід підтверджений сертифікатами та гарантією якості. У прикладі нижче — кастомний віджет, що показує статистику лояльності на сторінці товару:

// src/admin/widgets/product-loyalty-stats.tsx import { defineWidgetConfig } from '@medusajs/admin-sdk'; import { Container, Heading, Text } from '@medusajs/ui'; import { useQuery } from '@tanstack/react-query'; import { sdk } from '../lib/sdk'; const ProductLoyaltyWidget = ({ data }: { data: { id: string } }) => { const { data: stats } = useQuery({ queryKey: ['loyalty-stats', data.id], queryFn: () => sdk.client.fetch(`/admin/products/${data.id}/loyalty-stats`), }); return ( <Container> <Heading level="h2">Лояльність</Heading> <Text>Нараховано балів: {stats?.total_points_given ?? '—'}</Text> <Text>Замовлень з балами: {stats?.orders_with_loyalty ?? '—'}</Text> </Container> ); }; export const config = defineWidgetConfig({ zone: 'product.details.after', }); export default ProductLoyaltyWidget; 

Також створюємо кастомні сторінки — наприклад, для програми лояльності з DataTable, пошуком та пагінацією.

Чому варто кастомізувати адмінку?

Базова адмінка Medusa покриває стандартні потреби, але для унікальних бізнес-процесів потрібне розширення. Кастомізація дозволяє додати аналітику по поверненнях та скасуваннях замовлень, інтегрувати CRM-віджет для швидкого доступу до даних клієнта, керувати знижками та промокодами в єдиному інтерфейсі. Наш підхід дозволяє скоротити час розробки віджетів у 2 рази порівняно з самостійною реалізацією. Якщо у вас специфічні вимоги — пишіть, ми запропонуємо рішення.

Як підключити Medusa Admin до вашого бекенду?

Є два підходи. Вбудований (рекомендується для старту) — встановлення пакета @medusajs/dashboard та автоматичне підключення в medusa-config.ts. Standalone — окремий проєкт, збирається в dist/ і деплоїться на Vercel або Nginx. Обираємо варіант під ваш сценарій.

# Варіант 1: Вбудований у бекенд (рекомендується для старту) npm install @medusajs/dashboard # Варіант 2: Standalone деплой npx create-medusa-app@latest --no-boilerplate cd my-admin && npm install VITE_MEDUSA_BACKEND_URL=https://api.example.com npm run build 
Параметр Вбудований Standalone
Встановлення Одна команда Окремий проєкт
Розділення Пов'язаний з бекендом Незалежний деплой
Продуктивність Дешевше в розробці Вища гнучкість

Які віджети можна додати в адмінку?

Будь-які: аналітика по замовленнях, керування знижками, інтеграція з CRM, звіти по поверненнях. У нас є досвід розробки віджетів для різних зон — деталі товару, списки замовлень, профіль клієнта. Всі розширення пишуться на React і автоматично підхоплюються Admin.

// src/admin/routes/loyalty/page.tsx import { defineRouteConfig } from '@medusajs/admin-sdk'; import { GiftSolid } from '@medusajs/icons'; import { Container, DataTable, useDataTable } from '@medusajs/ui'; const LoyaltyPage = () => { const { table } = useDataTable({ /* config */ }); return ( <Container> <DataTable instance={table}> <DataTable.Toolbar> <DataTable.Search placeholder="Пошук клієнтів..." /> </DataTable.Toolbar> <DataTable.Table /> <DataTable.Pagination /> </DataTable> </Container> ); }; export const config = defineRouteConfig({ label: 'Програма лояльності', icon: GiftSolid, }); export default LoyaltyPage; 

Приклад зон віджетів:

Зона віджета Призначення Приклад
product.details.after Додаткова інформація про товар Статистика лояльності
order.list.before Фільтри або зведення Кастомні фільтри за статусом
customer.details.sidebar Бічна панель клієнта Історія замовлень з бонусами

Процес роботи

  1. Аналітика — вивчаємо поточний бекенд, версію Medusa, список ендпоінтів.
  2. Проєктування — визначаємо необхідні віджети та сторінки.
  3. Розробка — пишемо розширення, підключаємо до адмінки.
  4. Тестування — перевіряємо роботу віджетів, продуктивність, відсутність помилок.
  5. Деплой — розміщуємо Admin на вашому хостингу або Vercel.
  6. Підтримка — передаємо доступи, документацію, навчаємо команду.

Що входить у роботу

  • Аудит поточної конфігурації та версії Medusa
  • Налаштування підключення (вбудований або standalone)
  • Розробка кастомних віджетів і сторінок
  • Оптимізація продуктивності (Core Web Vitals)
  • Документація та інструкція з деплою
  • Навчання команди основам розширення Admin
  • Підтримка протягом місяця після деплою

Типова помилка: не налаштовано CORS. Якщо бекенд не дозволяє запити з домену Admin, панель не завантажиться. Пропишіть у medusa-config.ts: cors: { origin: 'https://admin.yourdomain.com' }. Також перевірте змінну середовища VITE_MEDUSA_BACKEND_URL — вона має бути доступна на клієнті. 95% запитів виконуються за <100 мс після оптимізації.

Medusa рекомендує standalone-деплой для production-середовища. Детальніше — у офіційній документації.

Строки орієнтовно

  • Базове налаштування + підключення до бекенду: від 2 до 4 годин.
  • Кастомні віджети та сторінки під бізнес-завдання: від 2 до 5 днів.
  • Комплексна інтеграція з декількома сервісами: від 1 до 2 тижнів.

Вартість розраховується індивідуально — залежить від складності розширень та строків. Замовте налаштування Medusa Admin у нас — отримайте готову адмінку з кастомними розширеннями. Зв'яжіться для консультації — допоможемо налаштувати Admin під ваші завдання.