docs: revise architectural modules documentation
This commit is contained in:
@@ -6,13 +6,9 @@ export const metadata = {
|
||||
|
||||
# {metadata.title}
|
||||
|
||||
A File Module exposes the functionalities to upload assets, such as product images, to the Medusa application.
|
||||
|
||||
---
|
||||
|
||||
## What is a File Module Provider?
|
||||
|
||||
A file module provider implements the logic of handling uploads and downloads. The File Module must have one file module provider configured.
|
||||
The File Module exposes the functionalities to upload assets, such as product images, to the Medusa application. A file module provider implements the underlying logic of handling uploads and downloads of assets, such as integrating third-party services. The File Module must have one file module provider configured.
|
||||
|
||||
By default, Medusa uses the Local File Module. This module uploads files to the `uploads` directory of your Medusa application.
|
||||
|
||||
|
||||
@@ -6,15 +6,13 @@ export const metadata = {
|
||||
|
||||
# {metadata.title}
|
||||
|
||||
A Notification Module exposes the functionalities to send a notification to a customer or user. For example, sending an order confirmation email.
|
||||
## What is a Notification Module Provider?
|
||||
|
||||
The Notification Module exposes the functionalities to send a notification to a customer or user. For example, sending an order confirmation email.
|
||||
|
||||
You can resolve the Notification Module and send notifications in API routes, subscribers, or other resources.
|
||||
|
||||
---
|
||||
|
||||
## What is a Notification Module Provider?
|
||||
|
||||
A notification module provider implements the logic of sending the notification. It either integrates a third-party service or uses custom logic to send the notification.
|
||||
A notification module provider implements the underlying logic of sending notification. It either integrates a third-party service or uses custom logic to send the notification.
|
||||
|
||||
By default, Medusa uses the Local Notification Module which only simulates sending the notification by logging a message in the terminal.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { ChildDocs } from "docs-ui"
|
||||
import { ChildDocs, CardList } from "docs-ui"
|
||||
|
||||
export const metadata = {
|
||||
title: `Architectural Modules`,
|
||||
@@ -6,6 +6,174 @@ export const metadata = {
|
||||
|
||||
# {metadata.title}
|
||||
|
||||
This section includes documentation for official Medusa architectural modules.
|
||||
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.
|
||||
|
||||
<ChildDocs hideItems={["Guides", "Overview"]} />
|
||||
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"
|
||||
}
|
||||
}
|
||||
]}
|
||||
/>
|
||||
|
||||
@@ -211,7 +211,7 @@ export const generatedEditDates = {
|
||||
"app/commerce-modules/auth/auth-identity-and-actor-types/page.mdx": "2024-12-09T13:04:01.129Z",
|
||||
"app/commerce-modules/api-key/page.mdx": "2024-12-09T14:47:01.509Z",
|
||||
"app/commerce-modules/auth/create-actor-type/page.mdx": "2024-12-09T15:32:07.594Z",
|
||||
"app/architectural-modules/page.mdx": "2024-05-28T13:25:03+03:00",
|
||||
"app/architectural-modules/page.mdx": "2024-12-11T10:33:53.064Z",
|
||||
"app/architectural-modules/workflow-engine/redis/page.mdx": "2024-10-15T12:50:59.507Z",
|
||||
"app/commerce-modules/api-key/examples/page.mdx": "2024-10-15T14:58:58.994Z",
|
||||
"app/architectural-modules/notification/sendgrid/page.mdx": "2024-10-15T12:51:25.569Z",
|
||||
@@ -230,11 +230,11 @@ export const generatedEditDates = {
|
||||
"app/architectural-modules/notification/local/page.mdx": "2024-10-15T12:51:21.284Z",
|
||||
"app/architectural-modules/file/local/page.mdx": "2024-10-16T15:48:42.839Z",
|
||||
"app/architectural-modules/notification/send-notification/page.mdx": "2024-09-30T08:43:53.151Z",
|
||||
"app/architectural-modules/file/page.mdx": "2024-07-01T10:21:19+03:00",
|
||||
"app/architectural-modules/file/page.mdx": "2024-12-11T10:27:50.510Z",
|
||||
"app/architectural-modules/event/page.mdx": "2024-05-28T13:25:03+03:00",
|
||||
"app/architectural-modules/cache/create/page.mdx": "2024-10-16T08:51:35.074Z",
|
||||
"app/admin-widget-injection-zones/page.mdx": "2024-11-22T11:00:30.159Z",
|
||||
"app/architectural-modules/notification/page.mdx": "2024-10-15T12:51:28.735Z",
|
||||
"app/architectural-modules/notification/page.mdx": "2024-12-11T10:29:47.317Z",
|
||||
"app/architectural-modules/event/create/page.mdx": "2024-12-09T14:46:40.248Z",
|
||||
"references/core_flows/Order/functions/core_flows.Order.orderEditUpdateItemQuantityValidationStep/page.mdx": "2024-08-20T00:10:58.913Z",
|
||||
"references/core_flows/Order/functions/core_flows.Order.orderEditUpdateItemQuantityWorkflow/page.mdx": "2024-08-20T00:10:58.949Z",
|
||||
|
||||
@@ -7858,7 +7858,7 @@ export const generatedSidebar = [
|
||||
"loaded": true,
|
||||
"isPathHref": true,
|
||||
"type": "category",
|
||||
"title": "File Provider Modules",
|
||||
"title": "File Module Providers",
|
||||
"children": [
|
||||
{
|
||||
"loaded": true,
|
||||
@@ -7906,7 +7906,7 @@ export const generatedSidebar = [
|
||||
"loaded": true,
|
||||
"isPathHref": true,
|
||||
"type": "category",
|
||||
"title": "Notification Provider Modules",
|
||||
"title": "Notification Module Providers",
|
||||
"children": [
|
||||
{
|
||||
"loaded": true,
|
||||
@@ -7953,6 +7953,14 @@ export const generatedSidebar = [
|
||||
"path": "/references/notification-provider-module",
|
||||
"title": "Create Notification Provider",
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"loaded": true,
|
||||
"isPathHref": true,
|
||||
"type": "link",
|
||||
"path": "/integrations/guides/resend",
|
||||
"title": "Integrate Resend",
|
||||
"children": []
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1655,7 +1655,7 @@ export const sidebar = sidebarAttachHrefCommonOptions([
|
||||
},
|
||||
{
|
||||
type: "category",
|
||||
title: "File Provider Modules",
|
||||
title: "File Module Providers",
|
||||
children: [
|
||||
{
|
||||
type: "link",
|
||||
@@ -1687,7 +1687,7 @@ export const sidebar = sidebarAttachHrefCommonOptions([
|
||||
},
|
||||
{
|
||||
type: "category",
|
||||
title: "Notification Provider Modules",
|
||||
title: "Notification Module Providers",
|
||||
children: [
|
||||
{
|
||||
type: "link",
|
||||
@@ -1718,6 +1718,11 @@ export const sidebar = sidebarAttachHrefCommonOptions([
|
||||
path: "/references/notification-provider-module",
|
||||
title: "Create Notification Provider",
|
||||
},
|
||||
{
|
||||
type: "link",
|
||||
path: "/integrations/guides/resend",
|
||||
title: "Integrate Resend",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user