180 lines
4.9 KiB
Plaintext
180 lines
4.9 KiB
Plaintext
import { ChildDocs, CardList } from "docs-ui"
|
|
|
|
export const metadata = {
|
|
title: `Architectural Modules`,
|
|
}
|
|
|
|
# {metadata.title}
|
|
|
|
Medusa's architectural functionalities, such as emitting and subscribing to events or caching data, are all implemented in architectural modules. An architectural module is a package that can be installed and used in any Medusa application. These modules allow you to choose and integrate custom services for architectural purposes.
|
|
|
|
For example, you can use our [Redis Event Module](./event/redis/page.mdx) to handle event functionalities, or create a custom module that implements these functionalities with Memcached. Learn more about Medusa's architecture in [this documentation](!docs!/learn/introduction/architecture).
|
|
|
|
This section of the documentation showcases official architectural modules and how to configure them in your application.
|
|
|
|
## Cache Modules
|
|
|
|
A Cache Module is used to cache the results of computations such as price selection or various tax calculations. Learn more in [this documentation](./cache/page.mdx).
|
|
|
|
The following modules are provided by Medusa. You can also create your own cache module as explained in [this guide](./cache/create/page.mdx).
|
|
|
|
<CardList
|
|
items={[
|
|
{
|
|
title: "In-Memory",
|
|
href: "/architectural-modules/cache/in-memory",
|
|
badge: {
|
|
variant: "neutral",
|
|
children: "For Development"
|
|
}
|
|
},
|
|
{
|
|
title: "Redis",
|
|
href: "/architectural-modules/cache/redis",
|
|
badge: {
|
|
variant: "green",
|
|
children: "For Production"
|
|
}
|
|
}
|
|
]}
|
|
/>
|
|
|
|
---
|
|
|
|
## Event Modules
|
|
|
|
An Event Module implements the underlying publish/subscribe system that handles queueing events, emitting them, and executing their subscribers. Learn more in [this documentation](./event/page.mdx).
|
|
|
|
The following modules are provided by Medusa. You can also create your own event module as explained in [this guide](./event/create/page.mdx).
|
|
|
|
<CardList
|
|
items={[
|
|
{
|
|
title: "Local",
|
|
href: "/architectural-modules/event/local",
|
|
badge: {
|
|
variant: "neutral",
|
|
children: "For Development"
|
|
}
|
|
},
|
|
{
|
|
title: "Redis",
|
|
href: "/architectural-modules/event/redis",
|
|
badge: {
|
|
variant: "green",
|
|
children: "For Production"
|
|
}
|
|
}
|
|
]}
|
|
/>
|
|
|
|
---
|
|
|
|
## File Module Providers
|
|
|
|
A file module provider implements the logic of handling uploads and downloads of assets, such as integrating third-party services. Learn more in [this documentation](./file/page.mdx).
|
|
|
|
The following modules are provided by Medusa. You can also create your own file module as explained in [this guide](/references/file-provider-module).
|
|
|
|
<CardList
|
|
items={[
|
|
{
|
|
title: "Local",
|
|
href: "/architectural-modules/file/local",
|
|
badge: {
|
|
variant: "neutral",
|
|
children: "For Development"
|
|
}
|
|
},
|
|
{
|
|
title: "AWS S3 (and Compatible APIs)",
|
|
href: "/architectural-modules/file/s3",
|
|
badge: {
|
|
variant: "green",
|
|
children: "For Production"
|
|
}
|
|
}
|
|
]}
|
|
/>
|
|
|
|
---
|
|
|
|
## Notification Module Providers
|
|
|
|
A notification module provider implements the logic of sending notifications, typically through integrating a third-party service. Learn more in [this documentation](./notification/page.mdx).
|
|
|
|
The following modules are provided by Medusa. You can also create your own file module as explained in [this guide](/references/notification-provider-module).
|
|
|
|
<CardList
|
|
items={[
|
|
{
|
|
title: "Local",
|
|
href: "/architectural-modules/notification/local",
|
|
badge: {
|
|
variant: "neutral",
|
|
children: "For Development"
|
|
}
|
|
},
|
|
{
|
|
title: "SendGrid",
|
|
href: "/architectural-modules/notification/sendgrid",
|
|
badge: {
|
|
variant: "green",
|
|
children: "For Production"
|
|
}
|
|
}
|
|
]}
|
|
/>
|
|
|
|
### Notification Module Provider Guides
|
|
|
|
<CardList
|
|
items={[
|
|
{
|
|
title: "Send Notification",
|
|
href: "/architectural-modules/notification/send-notification"
|
|
},
|
|
{
|
|
title: "Create Notification Provider",
|
|
href: "/references/notification-provider-module"
|
|
},
|
|
{
|
|
title: "Resend",
|
|
href: "/integrations/guides/resend",
|
|
badge: {
|
|
variant: "blue",
|
|
children: "Integration"
|
|
}
|
|
}
|
|
]}
|
|
/>
|
|
|
|
---
|
|
|
|
## Workflow Engine Modules
|
|
|
|
Workflow engine modules handle tracking and recording the transactions and statuses of workflows and their steps. Learn more in [this documentation](./workflow-engine/page.mdx).
|
|
|
|
The following modules are provided by Medusa.
|
|
|
|
<CardList
|
|
items={[
|
|
{
|
|
title: "In-Memory",
|
|
href: "/architectural-modules/workflow-engine/in-memory",
|
|
badge: {
|
|
variant: "neutral",
|
|
children: "For Development"
|
|
}
|
|
},
|
|
{
|
|
title: "Redis",
|
|
href: "/architectural-modules/workflow-engine/redis",
|
|
badge: {
|
|
variant: "green",
|
|
children: "For Production"
|
|
}
|
|
}
|
|
]}
|
|
/>
|