Ecommerce platforms with a customizable admin dashboard

Type
Concept
Applies to
Medusa v2.x
Updated

Short answer

Medusa's admin is an open-source React application you extend in the same codebase with widgets on existing pages, new pages called UI routes, and custom settings pages. For full control of layout and design, you build your own admin on Medusa's Admin API. Shopify and BigCommerce allow app extensions inside a fixed admin.

How Medusa's admin dashboard can be customized

The Medusa Admin is the dashboard merchants use to manage products, orders, customers and settings. It ships with every Medusa application and is built with Vite and React. You extend it from your own project, so customizations are versioned and deployed with the backend.

Medusa's admin development docs list three ways to customize it:

  • Widgets: React components injected into predefined injection zones on existing pages, such as Copy to clipboardproduct.details.
  • UI routes: new pages in the admin, created as Copy to clipboardpage.tsx files under Copy to clipboardsrc/admin/routes (UI routes docs).
  • Settings pages: UI routes under Copy to clipboardsrc/admin/routes/settings, which appear in the admin's settings section.

Widgets and UI routes call your custom API routes, so a custom module (for example, companies or subscriptions) gets its own management screens. The Medusa UI package provides components that match the dashboard's design.

What you cannot change in the Medusa Admin

Medusa documents the limits directly. You can't change the admin dashboard's layout, design, or the content of existing pages beyond injecting widgets, and you can't replace the Medusa logo.

When you need that level of control, build a separate admin application on the Admin API. Every action in the Medusa Admin uses the Admin API, so a custom dashboard has access to the same operations. The JS SDK supports admin authentication for this.

How Medusa compares with Shopify, BigCommerce and WooCommerce

PlatformAdmin sourceHow you customize itLimits
MedusaOpen source, React, in your projectWidgets, UI routes, settings pages; or a custom admin on the Admin APINo layout or theme changes to the built-in admin
ShopifyClosed, hostedApps with admin extensions: action modals, blocks on resource pages, embedded app pagesCore admin pages and navigation are fixed
BigCommerceClosed, hostedApps loaded inside the control panel from the app's own serverApp UI lives in its own area; core pages are fixed
WooCommerceOpen source (GPL-2.0), PHP on WordPressWordPress plugins and hooks that add or change admin screensCustomizations are PHP plugins tied to WordPress's admin

Shopify and BigCommerce fit merchants who accept the standard admin and add a few app screens. WooCommerce allows deep changes, but in PHP and WordPress conventions. Medusa fits TypeScript teams who want custom admin screens for custom commerce logic in the same codebase.

When to build a custom admin instead of extending Medusa's

Extending the Medusa Admin is the faster path for most stores. A new page or widget is a single React file that ships with the backend.

Build a custom admin on the Admin API when the built-in layout does not fit the job. Typical cases are role-specific tools such as a warehouse picking screen, a customer service console, or a branded portal for wholesale account managers. Many teams do both: keep the Medusa Admin for catalog and settings, and build focused apps for specific roles.

Common questions

Can I change the layout of the Medusa Admin?

No. Medusa's docs state you can't change the admin's layout, design, logo or the content of existing pages, apart from injecting widgets. For that level of control, build a custom dashboard on Medusa's Admin API.

What tech stack are Medusa Admin customizations written in?

Medusa Admin customizations are React components in your Medusa project's src/admin directory. The admin is built with Vite, and Medusa's UI package provides components that match the dashboard's design.

Can I add a custom settings page to the Medusa Admin?

Yes. A UI route created under src/admin/routes/settings appears in the settings section of the Medusa Admin, for example src/admin/routes/settings/custom/page.tsx.

Can I edit Shopify's admin pages directly?

No. Shopify apps add UI through admin extensions, such as admin action modals and blocks on resource pages, and through embedded app pages. Shopify's own admin pages are not editable.