docs: added examples page (#9587)

- Added an examples page with examples of all different concepts in Medusa. We'll probably add more examples with time as we see the need for them.
- Small fixes in different pages.

Preview: https://resources-docs-ocb5uyp0o-medusajs.vercel.app/v2/resources/examples
This commit is contained in:
Shahed Nasser authored and GitHub committed 2024-10-16 10:07:39 +00:00
1 parent ddcb749bc4
commit 6e856d3156
15 files changed
+4301 -546

No files matched your search

@@ -55,7 +55,7 @@ For example:
```ts highlights={[["9"]]}
import {
LoaderOptions,
} from "@medusajs/framework/modules-sdk"
} from "@medusajs/framework/types"
import {
ContainerRegistrationKeys
} from "@medusajs/framework/utils"
@@ -28,8 +28,8 @@ So, to run database queries in a service:
For example, in your service, add the following methods:
export const methodsHighlight = [
["4", "getCount", "Retrieves the number of records in `my_custom` using the `count` method."],
["8", "getCountSql", "Retrieves the number of records in `my_custom` using the `execute` method."]
["11", "getCount", "Retrieves the number of records in `my_custom` using the `count` method."],
["18", "getCountSql", "Retrieves the number of records in `my_custom` using the `execute` method."]
]
```ts highlights={methodsHighlight}
@@ -81,7 +81,7 @@ For example:
```ts title="src/modules/hello/loaders/hello-world.ts" highlights={[["11"], ["12", "ModuleOptions", "The type of expected module options."], ["16"]]}
import {
LoaderOptions,
} from "@medusajs/framework/modules-sdk"
} from "@medusajs/framework/types"
// recommended to define type in another file
type ModuleOptions = {
+1 -1
View File
@@ -127,7 +127,7 @@ The last step is to add the module in Medusa’s configurations.
In `medusa-config.ts`, add a `modules` property and pass in it your custom module:
```ts title="medusa-config.ts" highlights={[["6", "helloModuleService", "The key of the main service to be registered in the Medusa container."]]}
```ts title="medusa-config.ts" highlights={[["7"]]}
module.exports = defineConfig({
projectConfig: {
// ...
@@ -1,151 +0,0 @@
export const metadata = {
title: `${pageNumber} Examples`,
}
# {metadata.title}
This chapter provides links to example sections on different Medusa topics.
## API Routes
- [Execute a workflow in an API route](../../basics/workflows/page.mdx#3-execute-the-workflow)
- [Extend an existing API route](../../customization/extend-models/extend-create-product/page.mdx)
- [Override an existing API route](!resources!/recipes/subscriptions/examples/standard#step-6-override-complete-cart-api-route)
- [Restrict HTTP Methods in a middleware](../../advanced-development/api-routes/middlewares/page.mdx#restrict-http-methods)
- [Change response content to something other than JSON](../../advanced-development/api-routes/responses/page.mdx#change-response-content-type)
- [Retrieve logged-in customer's details](../../advanced-development/api-routes/protected-routes/page.mdx#retrieve-logged-in-customers-details)
- [Retrieve logged-in user's details](../../advanced-development/api-routes/protected-routes/page.mdx#retrieve-logged-in-admin-users-details)
- [Custom error handler](../../advanced-development/api-routes/errors/page.mdx#override-error-handler)
- [Using Query in an API route](../../advanced-development/module-links/query/page.mdx#query-example)
- [Upload files in a custom API route](!resources!/recipes/digital-products/examples/standard#step-7-upload-digital-product-media-api-route)
- [Customize cart-completion API route](!resources!/recipes/digital-products/examples/standard#step-11-customize-cart-completion)
---
## Modules
- [Create a Brand Module](../../customization/custom-features/module/page.mdx)
- [Create a Marketplace Module](!resources!/recipes/marketplace/examples/vendors#step-1-create-marketplace-module)
- [Create a Restaurant Module](!resources!/recipes/marketplace/examples/restaurant-delivery#step-1-create-a-restaurant-module)
- [Create a Delivery Module](!resources!/recipes/marketplace/examples/restaurant-delivery#step-2-create-a-delivery-module)
- [Create a Subscription Module](!resources!/recipes/subscriptions/examples/standard#step-1-create-subscription-module)
- [Create a Digital Product Module](!resources!/recipes/digital-products/examples/standard#step-1-create-the-digital-product-module)
- [Create a link between a brand and a product](../../customization/extend-models/create-links/page.mdx)
---
## Services
- [Override a method generated by the service factory](!resources!/recipes/subscriptions/examples/standard#step-4-override-createsubscriptions-method-in-service)
- [Integrate a third-party system](../../customization/integrate-systems/service/page.mdx)
---
## Subscribers
- [Execute a workflow in a subscriber](../../basics/workflows/page.mdx#3-execute-the-workflow)
- [Handle a custom event](../../customization/integrate-systems/handle-event/page.mdx)
- [Handle reset password token event](!resources!/commerce-modules/auth/reset-password)
---
## Scheduled Jobs
- [Execute a workflow in a scheduled job](../../basics/workflows/page.mdx#3-execute-the-workflow)
- [Schedule a task to sync data to third-party system](../../customization/integrate-systems/schedule-task/page.mdx)
---
## Workflows
- [Create a brand workflow](../../customization/custom-features/workflow/page.mdx)
- [Emit event in a workflow](../../customization/integrate-systems/handle-event/page.mdx#1-emit-custom-event-for-brand-creation)
- [Sync data to a third-party system with a workflow](../../customization/integrate-systems/schedule-task/page.mdx#1-implement-syncing-workflow)
- [Create a long-running workflow to handle delivery from placed to completed](!resources!/recipes/marketplace/examples/restaurant-delivery#step-11-handle-delivery-workflow)
- [Access long-running workflow's status and result in an API route](../../advanced-development/workflows/long-running-workflow/page.mdx#access-long-running-workflow-status-and-result)
---
## Custom CLI Scripts
- [Seed Dummy Products](../../advanced-development/custom-cli-scripts/seed-data/page.mdx)
---
## Admin Customizations
- [Send a request to custom API routes from widgets or UI routes](../../customization/customize-admin/widget/page.mdx)
- [Create a Settings Page](../../advanced-development/admin/ui-routes/page.mdx#create-settings-page)
- [Link to another page in the admin dashboard](../../advanced-development/admin/tips/page.mdx#routing-functionalities)
- [Show table with pagination](!resources!/recipes/digital-products/examples/standard#step-8-add-digital-products-ui-route-in-admin)
---
## Testing
- [Writing integration tests for API routes](../../debugging-and-testing/testing-tools/integration-tests/api-routes/page.mdx)
- [Writing integration tests for workflows](../../debugging-and-testing/testing-tools/integration-tests/workflows/page.mdx)
- [Writing integration tests for modules](../../debugging-and-testing/testing-tools/modules-tests/module-example/page.mdx)
---
## Storefront Development
- [Storefront development guides](!resources!/storefront-development)
---
## Commerce Modules
### Auth
- [Create a custom actor type](!resources!/commerce-modules/auth/create-actor-type)
- [Create auth provider module](!resources!/references/auth/provider)
### Cart
- [Retrieve tax lines of a cart](!resources!/commerce-modules/cart/tax-lines#retrieving-tax-lines)
- [Retrieve promotion actions of a cart](!resources!/commerce-modules/cart/promotions#promotion-actions)
### Fulfillment
- [Create fulfillment module provider](!resources!/recipes/digital-products/examples/standard#step-10-create-digital-product-fulfillment-module-provider)
### Order
- [Retrieve promotion actions of an order](!resources!/commerce-modules/order/promotion-adjustments#promotion-actions)
### Payment
- [Create payment module provider](!resources!/references/payment/provider)
### Product
- [Retrieve prices of product variants](!resources!/commerce-modules/product/guides/price)
- [Retrieve product variant prices with taxes](!resources!/commerce-modules/product/guides/price-with-taxes)
---
## Architectural Modules
### Cache
- [Create cache module](!resources!/architectural-modules/cache/create)
### Event
- [Create event module](!resources!/architectural-modules/event/create)
### File
- [Create file module provider](!resources!/references/file-provider-module)
### Notification
- [Create notification module provider](!resources!/references/notification-provider-module)
---
## Integrations
- [Send a notification with SendGrid](!resources!/architectural-modules/notification/sendgrid#test-out-the-module)