import { CardList, Card } from "docs-ui"

export const metadata = {
  title: `Commerce Modules`,
}

# {metadata.title}

In this section of the documentation, you'll find guides and references related to Medusa's Commerce Modules.

A Commerce Module provides features for a commerce domain within its service. When you install the Medusa application, all Commerce Modules are available out-of-the-box. The Medusa application exposes their features in its core API routes to clients.

A Commerce Module also defines data models, representing tables in the database. The Medusa Framework and tools allow you to extend these data models to add custom fields.

## Commerce Modules List

<CardList
  items={[
    {
      title: "API Key Module",
      href: "/commerce-modules/api-key"
    },
    {
      title: "Auth Module",
      href: "/commerce-modules/auth"
    },
    {
      title: "Cart Module",
      href: "/commerce-modules/cart"
    },
    {
      title: "Currency Module",
      href: "/commerce-modules/currency"
    },
    {
      title: "Customer Module",
      href: "/commerce-modules/customer"
    },
    {
      title: "Fulfillment Module",
      href: "/commerce-modules/fulfillment"
    },
    {
      title: "Inventory Module",
      href: "/commerce-modules/inventory"
    },
    {
      title: "Order Module",
      href: "/commerce-modules/order"
    },
    {
      title: "Payment Module",
      href: "/commerce-modules/payment"
    },
    {
      title: "Pricing Module",
      href: "/commerce-modules/pricing"
    },
    {
      title: "Product Module",
      href: "/commerce-modules/product"
    },
    {
      title: "Promotion Module",
      href: "/commerce-modules/promotion"
    },
    {
      title: "Region Module",
      href: "/commerce-modules/region"
    },
    {
      title: "Sales Channel Module",
      href: "/commerce-modules/sales-channel"
    },
    {
      title: "Stock Location Module",
      href: "/commerce-modules/stock-location"
    },
    {
      title: "Store Module",
      href: "/commerce-modules/store"
    },
    {
      title: "Tax Module",
      href: "/commerce-modules/tax"
    },
    {
      title: "Translation Module",
      href: "/commerce-modules/translation",
      badge: {
        children: "Beta",
        variant: "blue"
      }
    },
  ]}
/>

<Card
  title="User Module"
  href="/commerce-modules/user"
  className="my-1"
/>

---

## How to Use Modules

The Commerce Modules can be used in many use cases, including:

- Medusa Application: The Medusa application comes with all Commerce Modules pre-installed and configured. Their commerce features are exposed through REST APIs.
- Serverless Application: Use the Commerce Modules in a serverless application, such as a Next.js application, without having to manage a fully-fledged ecommerce system. You can use it by installing it in your Node.js project as an NPM package.
- Node.js Application: Use the Commerce Modules in any Node.js application by installing it with NPM.
