Medusa for Developers: A breakdown
Tags: javascript, medusa, developers, react
Published: 2023-04-18 06:12:51

## Introduction

[Medusa](https://medusajs.com/) is a collection of commerce tools and modules for developers, which are basically used for building unique e-commerce platforms.

It is an open-source commerce engine for digital commerce building blocks. Medusa’s building blocks eliminate the need to build core commerce logic from scratch and enable you to focus on the customization that moves the needle. All modules are open source and freely available on npm, so you always control your commerce stack.

Medusa equips developers with the necessary building blocks to develop a dynamic commerce store. The developers are empowered with complete control over their technology stack and the logical operation behind the commerce futures.

## **Prerequisites**

Medusa commerce engine requires [Node.js](https://nodejs.org/en/) v14.8+ running on your local computer, for you to start development.

## Medusa Toolkits

Medusa commerce engine has well-documented Toolkits which are listed below:

### Medusa Backend

[Medusa Backend](https://docs.medusajs.com/development/backend/install) is the core commerce engine for Medusa. It is a comprehensive platform for managing all aspects of a commerce store, from product management to order processing and fulfillment. It is designed to provide businesses with a flexible and scalable solution for managing their commerce operations.

Medusa Backend is a Node.js-based open-source codebase that comprises logic, modules, endpoints, services, subscribers, entities, and plugins behind the Medusa commerce engine.

It offers a range of features, including inventory management, order management, customer management, and payment processing. It also provides powerful reporting tools that give businesses insight into their performance and help them make informed decisions.

Creating a Medusa Backend project is very easy as it can be handled with just two commands.

First, install the Medusa CLI tools which enable your local machine to run Medusa;

```jsx
npm install @medusajs/medusa-cli -g
```

Note, this command uses both `npm` or `Yarn`, see [documentation](https://docs.medusajs.com/development/backend/install).

Lastly, create a new Medusa Project;

```jsx
medusa new my-medusa-store --seed
```

To test your project and learn more on Medusa Backend, see [documentations](https://docs.medusajs.com/development/backend/install).

### Medusa Admin

[Medusa Admin](https://docs.medusajs.com/admin/quickstart) is a powerful and intuitive platform for managing and maintaining a commerce store's back-end operations. It provides a merchant with comprehensive set of tools for managing orders, inventory, customers, and other essential commerce functions.

It offers a range of features, including an intuitive dashboard, powerful reporting tools, and customizable workflows for managing orders and inventory. It also provides extensive customer management functionality, including tools for managing customer data and communicating with customers.

Medusa Admin depends on Medusa Backend to function, i.e it works with Medusa Backend through APIs.

Medusa Admin is a React.js frontend project that communicates data with Medusa Backend through APIs. The platform is designed to be user-friendly, with an intuitive interface that makes it easy for merchants to manage their commerce operations.

You can install Medusa Admin with the single command  below;

```jsx
npm install @medusajs/admin
```

To learn more about Medusa Admin, visit the [documentation](https://docs.medusajs.com/starters/nextjs-medusa-starter).

### Medusa Storefront

[Medusa Storefront](https://docs.medusajs.com/starters/nextjs-medusa-starter) is a Next.js open-source project. It is a comprehensive platform that enables businesses to create engaging and immersive commerce storefronts that offer customers a seamless shopping experience. The Storefront is built on top of Medusa's Backend, making it easy for developers to create customized and powerful online stores.

Medusa Storefront offers a wide range of features, including product browsing, cart management, checkout, and payment processing. It also provides powerful tools for customizing the look and feel of storefronts, allowing developers to create unique and engaging shopping experiences that reflect around the brand and values of their customers.

Creating a Medusa Storefront can be done with a single command;

```jsx
npx create-next-app -e https://github.com/medusajs/nextjs-starter-medusa my-medusa-storefront
```

To learn more about Medusa Storefront, visit the [documentation](https://docs.medusajs.com/starters/nextjs-medusa-starter).

### Medusa Javascript Client

[Medusa JavaScript Client](https://docs.medusajs.com/js-client/overview) is a powerful tool that enables developers to integrate Medusa's commerce functionality into their web applications seamlessly. By leveraging the client library, developers can create dynamic and interactive storefronts that offer customers a rich and engaging shopping experience.

It supports a wide range of functionality, including product browsing, cart management, checkout, and payment processing. It also offers flexible APIs that developers can use to customize and extend the client's functionality to meet their specific needs.

With its ease of use, clear documentation, and straightforward APIs, developers can quickly get up and running with the client library, allowing them to focus on creating great storefront experiences.

To install the Medusa Javascript Client run the following command:

```jsx
npm install @medusajs/medusa-js
```

To learn more about Medusa Javascript Client, visit the [documentation](https://docs.medusajs.com/js-client/overview).

### Medusa React

[Medusa React](https://www.npmjs.com/package/medusa-react) is a React library that provides a set of utilities and hooks for interacting seamlessly with the Medusa backend. It is a collection of React components that make it easy for developers to integrate Medusa's commerce functionality into their web applications. With the Medusa React library, developers can quickly build dynamic and responsive storefronts that offer customers a seamless shopping experience.

The Medusa React library includes a range of pre-built components. These components are highly customizable and can be easily integrated into any React-based web application.

To install Medusa React run the command below in the directory holding your React-based storefront or admin dashboard:

```jsx
npm install medusa-react @tanstack/react-query @medusajs/medus
```

To learn more about Medusa React, visit the [documentation](https://docs.medusajs.com/js-client/overview).

### Medusa CLI

[Medusa CLI](https://docs.medusajs.com/cli/reference) (Command Line Interface) is a powerful and flexible tool that enables you to perform important commands while developing with Medusa. The CLI provides developers and system administrators with a range of tools for automating tasks and managing commerce operations from the terminal.

Medusa CLI is built on top of the Medusa JavaScript client, making it easy to integrate with other Medusa tools and modules. This integration enables developers to create end-to-end commerce solutions that provide a seamless experience for commerce and simplify operations for businesses.

Medusa CLI can be installed with the command below:

```jsx
npm install @medusajs/medusa-cli -g
```

To learn more about Medusa CLI, visit the [documentation](https://docs.medusajs.com/cli/reference).

## Conclusion

Medusa is a robust e-commerce platform designed to provide developers with the flexibility and tools they need to create powerful and unique commerce experiences. With a range of tools and modules available, Medusa offers developers the essential building blocks they need to create custom storefronts, back-end operations, and APIs.

Medusa is built on top of modern web technologies, including Node.js, React, and GraphQL,  making it easy for developers to understand and integrate with other systems. The platform also supports a range of payment gateways, shipping carriers, and tax services, providing businesses with the flexibility they need to operate in different markets and regions.

Medusa's modular architecture allows developers to mix and match different components to create custom commerce experiences tailored to their specific needs. Additionally, its open-source nature means that developers can contribute to the platform's ongoing development and improvement.