import { CardList } 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. The Medusa application exposes these features in its 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: "User Module",
      href: "/commerce-modules/user"
    }
  ]}
/>

---

## How to Use Modules

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

- Medusa Application: The Medusa application uses the Commerce Modules to expose commerce features through the 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.
