docs: redesigned documentation (#2539)

* docs: redesigned navigation bar (#2478)

* docs: redesigned homepage (#2480)

* docs: redesigned homepage

* fixed link

* docs: redesigned notes (#2491)

* docs: Applied Typography redesign rules (#2516)

* changes to typography

* small changes and fixes

* docs: redesigned table of content (#2518)

* redesigning toc

* finalized table of content design

* docs: redesigned code blocks (#2519)

* docs: redesigned code blocks

* removed unused package

* docs: redesigned survey and content footer (#2522)

* fixes to inline code

* redesigned doc footer

* docs: redesigned footer (#2523)

* docs: changed dark mode colors (#2524)

* docs: redesigned sidebar (#2535)

* docs: redesigned search modal (#2537)

* docs: resolved loose ends (#2538)

* added spacing for tabs

* docs: added no-zoom class for deploy images

* fix to tooltip design for inline code
This commit is contained in:
Shahed Nasser
2022-11-03 18:59:46 +02:00
committed by GitHub
parent aee53884a4
commit 76a16aa131
146 changed files with 3449 additions and 1193 deletions
+3 -1
View File
@@ -16,7 +16,9 @@ If youre not very familiar with Medusas architecture, you can learn more a
Instead of manually following this guide to install then later deploy the Medusa Admin, you can deploy the Medusa Admin to Netlify with this button:
[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/medusajs/admin)
<a href="https://app.netlify.com/start/deploy?repository=https://github.com/medusajs/admin" class="img-url">
<img src="https://www.netlify.com/img/deploy/button.svg" alt="Deploy to Netlify" class="no-zoom-img" />
</a>
## Install the Admin
@@ -60,7 +60,7 @@ The first step is to upload the CSV file to import prices from.
You can do that by sending the following request to the [Upload Files](https://docs.medusajs.com/api/admin/#tag/Upload/operation/PostUploads) endpoint:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -111,7 +111,7 @@ To start a new price import, you must create a batch job.
You can do that by sending the following request to the [Create a Batch Job](https://docs.medusajs.com/api/admin/#tag/Batch-Job/operation/PostBatchJobs) endpoint:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -196,7 +196,7 @@ After creating the batch job, it will be pre-processed. At this point, the CSV f
You can retrieve all the details of the batch job, including its status and the brief statistics related to the prices by sending the following request:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -255,7 +255,7 @@ A batch job can be confirmed only once the batch job has the status `pre_process
To confirm a batch job send the following request:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -54,7 +54,7 @@ The first step is to upload the CSV file that you want to import products.
You can do that by sending the following request to the [Upload Files](https://docs.medusajs.com/api/admin/#tag/Upload/operation/PostUploads) endpoint:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -105,7 +105,7 @@ To start a new product import, you must create a batch job.
You can do that by sending the following request to the [Create a Batch Job](https://docs.medusajs.com/api/admin/#tag/Batch-Job/operation/PostBatchJobs) endpoint:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -184,7 +184,7 @@ After creating the batch job, it will be pre-processed. At this point, the CSV f
You can retrieve all the details of the batch job, including its status and the brief statistics related to the products by sending the following request:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -243,7 +243,7 @@ A batch job can be confirmed only once the batch job has the status `pre_process
To confirm a batch job send the following request:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -39,7 +39,7 @@ You can learn more about [authenticating as an admin user in the API reference](
You can create a customer group by sending a request to the Create Customer Group endpoint:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -93,7 +93,7 @@ This request requires the `name` parameter and optionally accepts the `metadata`
You can get a list of all customer groups by sending a request to the List Customer Groups endpoint:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -135,7 +135,7 @@ You can also pass filters and other selection query parameters to the request. C
You can retrieve a single customer group by sending a request to the Get a Customer Group endpoint:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -175,7 +175,7 @@ This request accepts the ID of the customer group to retrieve as a path paramete
You can update a customer groups data by sending a request to the Update Customer Group endpoint:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -235,7 +235,7 @@ This request accepts the ID of the customer group as a path parameter, and optio
You can delete a customer group by sending a request to the Delete a Customer Group endpoint:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -279,7 +279,7 @@ This request accepts the ID of the customer group to delete as a path parameter.
You can add a customer to a group by sending a request to the Customer Groups Add Customer endpoint:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -343,7 +343,7 @@ This request accepts the ID of the customer group as a path parameter. In its bo
You can retrieve a list of all customers in a customer group using the List Customers endpoint:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -387,7 +387,7 @@ Removing customers from a group does not remove them entirely. Theyll still b
You can remove customers from a customer group by sending a request to the Remove Customers endpoint:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -254,7 +254,7 @@ The first step is to create a batch job using the [Create Batch Job endpoint](ht
For example, this creates a batch job of the type `publish-products`:
<Tabs groupId="request-types">
<Tabs groupId="request-types" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -314,7 +314,7 @@ Make sure to replace `<YOUR_SERVER>` with the server URL where applicable.
You can retrieve the batch job afterward to get its status and view details about the process in the `result` property:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -367,7 +367,7 @@ Based on the batch job strategy implemented in this documentation, the `result`
To process the batch job, send a request to [confirm the batch job](https://docs.medusajs.com/api/admin/#tag/Batch-Job/operation/PostBatchJobsBatchJobConfirmProcessing):
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -63,7 +63,7 @@ You can learn more about what the conditions you can apply on a price list and i
For example, sending the following request creates a price list with two prices: one that is applied when the maximum quantity of the product variant in the cart is 3; another is applied when the minimum quantity of the same variant in the cart is 4:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -172,7 +172,7 @@ You can check the full list of request body parameters in the [API reference](ht
You can retrieve all of a price lists details using the Get a Price List endpoint:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -212,7 +212,7 @@ After creating a price list, you can update all of its fields including its stat
For example, by sending the following request the end date of the price list will be updated:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -274,7 +274,7 @@ You can also set the `override` request body parameter to `true` to replace the
For example, sending the following request adds a new price to the price list:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -346,7 +346,7 @@ For a full list of request body parameters, check out the [API reference](https:
You can delete all the prices of a products variants using the [Delete Product Prices](https://docs.medusajs.com/api/admin/#tag/Price-List/operation/DeletePriceListsPriceListProductsProductPrices) endpoint:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -386,7 +386,7 @@ This request returns the IDs of the deleted prices.
You can delete all the prices of a variant using the [Delete Variant Prices](https://docs.medusajs.com/api/admin/#tag/Price-List/operation/DeletePriceListsPriceListVariantsVariantPrices) endpoint:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -428,7 +428,7 @@ This request returns the IDs of the deleted prices.
You can delete a price list, and subsequently all prices defined in it, using the [Delete Price List](https://docs.medusajs.com/api/admin/#tag/Price-List/operation/DeletePriceListsPriceList) endpoint:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -52,7 +52,7 @@ You can learn more about [authenticating as an admin user in the API reference](
You can create a sales channel by sending a request to the Create a Sales Channel endpoint:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -111,7 +111,7 @@ It returns the created sales channel.
You can list all sales channels by sending a request to the List Sales Channels endpoint:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -151,7 +151,7 @@ This request returns an array of all sales channels in your store. You can also
You can retrieve a sales channels details by its ID using the Get Sales Channel endpoint:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -191,7 +191,7 @@ This request returns the sales channel with the specified ID.
You can update a Sales Channels details and attributes by sending a request to the Update Sales Channel endpoint:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -249,7 +249,7 @@ You can check out [the API Reference for a full list of body parameters](https:/
You can delete a sales channel by sending a request to the Delete Sales Channel endpoint with the ID of the sales channel to delete:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -293,7 +293,7 @@ The ID of the deleted sales channel is returned in the response.
To add a product to a sales channel, send a request to the Sales Channels Add Products endpoint:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -359,7 +359,7 @@ This request returns the sales channel.
You can list the products available in a sales channel by sending a request to the List Products endpoint and passing the `sales_channel_id` query parameter to filter by a specific sales channel:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -407,7 +407,7 @@ Deleting a product from a sales channel doesn't delete it completely. It only ma
You can delete a product from a sales channel by sending a request to the Sales Channels Delete Products endpoint:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -475,7 +475,7 @@ This request returns the sales channel.
You can filter orders by a specific sales channel by sending a request to the List Orders endpoint and passing the `sales_channel_id` query parameter to filter by a specific sales channel:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -1,3 +1,7 @@
---
description: 'Actions Required for v.1.3.0'
---
# v1.3.0
Version 1.3.0 of Medusa introduces new features including the addition of Line Item Adjustments and a more advanced Promotions API, as well as a change in loading environment variables into your Medusa server. The changes do not affect the public APIs and require only running necessary data migrations.
@@ -1,3 +1,7 @@
---
description: 'Actions Required for v.1.3.0'
---
# v1.3.6
Following the addition of feature flags in version v1.3.3 and the addition of the Sales Channels API in v1.3.5, v1.3.6 introduces a data migration script that moves all products into the Default Sales Channel.
@@ -1,3 +1,7 @@
---
description: 'Actions Required for v.1.3.0'
---
# v1.3.8
Updating your medusa server to version `1.3.8` may cause issues when using NPM. Please refer to this guide for more details on how to resolve it.
@@ -45,7 +45,7 @@ In this step, the customer generally enters their shipping info, then chooses th
After the customer enters their shipping address information, you must send a `POST` request to the [Update a Cart](https://docs.medusajs.com/api/store/#tag/Cart/operation/PostCartsCart) API endpoint:
<Tabs groupId="request-tyoe">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -111,7 +111,7 @@ After updating the cart with the customers address, the list of available [sh
You can retrieve the list of shipping options by sending a `GET` request to the [Retrieve Shipping Options for Cart API](https://docs.medusajs.com/api/store/#tag/Shipping-Option/operation/GetShippingOptionsCartId) endpoint:
<Tabs groupId="request-tyoe">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -141,7 +141,7 @@ The request accepts the ID of the cart as a path parameter. It returns the array
Once the customer chooses one of the available shipping options, send a `POST` request to the [Add a Shipping Method](https://docs.medusajs.com/api/store/#tag/Cart/operation/PostCartsCartShippingMethod) API endpoint. This will create a [shipping method](../backend/shipping/overview.md#shipping-method) based on the shipping option chosen and will associate it with the customers cart:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -189,7 +189,7 @@ When the page opens and before the payment providers are displayed to the custom
To initialize the payment sessions, send a `POST` request to the [Initialize Payment Sessions](https://docs.medusajs.com/api/store/#tag/Cart/operation/PostCartsCartPaymentSessions) API endpoint:
<Tabs groupId="request-tyoe">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -221,7 +221,7 @@ This endpoint accepts the ID of the cart as a path parameter. It returns the upd
When the customer chooses the payment provider they want to complete purchase with, you should select the payment session associated with that payment provider. To do that, send a `POST` request to the [Select a Payment Session](https://docs.medusajs.com/api/store/#tag/Cart/operation/PostCartsCartPaymentSession) API endpoint:
<Tabs groupId="request-tyoe">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -271,7 +271,7 @@ This step is optional and is only necessary for some payment providers. As menti
If you need to update that data at any point before the purchase is made, send a request to [Update a Payment Session](https://docs.medusajs.com/api/store/#tag/Cart/operation/PostCartsCartPaymentSessionUpdate) API endpoint:
<Tabs groupId="request-tyoe">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -323,7 +323,7 @@ The last step is to place the order by completing the cart. When you complete th
To complete a cart, send a `POST` request to the [Complete a Cart](https://docs.medusajs.com/api/store/#tag/Cart/operation/PostCartsCartComplete) API endpoint:
<Tabs groupId="request-tyoe">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -29,7 +29,7 @@ If you follow the JS Client code blocks, its assumed you already have [Medusa
To filter products by a specific sales channel, pass the `sales_channel_id` query parameter to the List Products endpoint:
<Tabs groupId="request-tyoe">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -67,7 +67,7 @@ The request returns an array of products. These are the products that are availa
To associate a sales channel with a cart while creating it, you can pass the `sales_channel_id` request body parameter with the ID of the sales channel:
<Tabs groupId="request-tyoe">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
@@ -108,7 +108,7 @@ The request returns the created cart.
You can update the sales channel of an existing cart by passing the `sales_channel_id` request body parameter with the ID of the sales channel:
<Tabs groupId="request-tyoe">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -1,10 +1,16 @@
---
description: 'Learn step-by-step.'
---
# Deploy Medusa Admin on Netlify
In this document, youll learn how to deploy the Medusa Admin on [Netlify](https://www.netlify.com/).
Alternatively, you can use this button to deploy the Medusa Admin to Netlify directly:
[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/medusajs/admin)
<a href="https://app.netlify.com/start/deploy?repository=https://github.com/medusajs/admin" class="img-url">
<img src="https://www.netlify.com/img/deploy/button.svg" alt="Deploy to Netlify" class="no-zoom-img" />
</a>
## Prerequisites
+4
View File
@@ -1,3 +1,7 @@
---
hide_table_of_contents: true
---
import DocCardList from '@theme/DocCardList';
import {useCurrentSidebarCategory} from '@docusaurus/theme-common';
@@ -1,3 +1,7 @@
---
description: 'Learn step-by-step.'
---
# Deploy Your Medusa Server to DigitalOcean Apps
In this document, you'll learn how to deploy your Medusa server to a DigitalOcean App.
@@ -1,3 +1,7 @@
---
description: 'Learn step-by-step.'
---
import styles from '../deployment.module.css';
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
@@ -8,7 +12,9 @@ In this document, you'll learn how to deploy your Medusa server on Heroku. Herok
Alternatively, you can use this button to deploy the Medusa server to Heroku directly:
[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/medusajs/medusa-starter-default/tree/feat/deploy-heroku)
<a href="https://heroku.com/deploy?template=https://github.com/medusajs/medusa-starter-default/tree/feat/deploy-heroku" class="img-url">
<img src="https://www.herokucdn.com/deploy/button.svg" alt="Deploy to Heroku" class="no-zoom-img" />
</a>
<div>
<video width="100%" height="100%" playsinline autoplay muted controls>
@@ -1,3 +1,7 @@
---
description: 'Learn step-by-step.'
---
# Deploy Your Medusa Server on Qovery
In this document, you'll learn how to deploy your Medusa server on Qovery with the help of Terraform.
@@ -1,3 +1,7 @@
---
hide_table_of_contents: true
---
import DocCardList from '@theme/DocCardList';
import {useCurrentSidebarCategory} from '@docusaurus/theme-common';
@@ -1,10 +1,16 @@
---
description: 'Learn step-by-step.'
---
# Deploy Gatsby Storefront on Netlify
In this document, youll learn how to deploy the Gatsby Storefront on [Netlify](https://www.netlify.com/).
Alternatively, you can use this button to deploy the Gatsby Storefront to Netlify directly:
[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/medusajs/gatsby-starter-medusa)
<a href="https://app.netlify.com/start/deploy?repository=https://github.com/medusajs/gatsby-starter-medusa" class="img-url">
<img src="https://www.netlify.com/img/deploy/button.svg" alt="Deploy to Netlify" class="no-zoom-img" />
</a>
## Prerequisites
@@ -1,3 +1,7 @@
---
hide_table_of_contents: true
---
import DocCardList from '@theme/DocCardList';
import {useCurrentSidebarCategory} from '@docusaurus/theme-common';
+9 -9
View File
@@ -39,7 +39,7 @@ If you follow the JS Client code blocks, its assumed you already have [Medusa
You can create a cart with the following code snippet:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -75,7 +75,7 @@ The cart by default will have a random region assigned to it. You can specify th
Otherwise, you can assign it a specific region during creation:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -127,7 +127,7 @@ Notice that in the previous code snippets, you set the carts ID in the local
You can retrieve the cart at any given point using its ID with the following code snippet:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -171,7 +171,7 @@ A cart has different data associated with it including the region, email, addres
You can use the following snippet to update any of the carts data:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -213,7 +213,7 @@ A customer might add items to their cart, then creates an account or log in. In
You can do that using the same update operation:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -251,7 +251,7 @@ In case the customer doesn't want to use their own account, you must at least as
You can do that using the same update operation:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -285,7 +285,7 @@ fetch(`<SERVER_URL>/store/carts/${cartId}`, {
To create a line item of a product and add it to a cart, you can use the following code snippet:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -333,7 +333,7 @@ If youre using Sales Channels, make sure that the cart and the product belong
To update a line item's quantity in the cart, you can use the following code snippet:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
@@ -371,7 +371,7 @@ It returns the updated cart.
To delete a line item from the cart, you can use the following code snippet:
<Tabs groupId="request-type">
<Tabs groupId="request-type" wrapperClassName="code-tabs">
<TabItem value="client" label="Medusa JS Client" default>
```jsx
-81
View File
@@ -1,81 +0,0 @@
---
id: homepage
title: Overview
description: 'What is Medusa?'
slug: /
hide_table_of_contents: true
---
Welcome to Medusa, the open source Shopify alternative!
Medusa is an open-source headless commerce engine that enables developers to create amazing digital commerce experiences.
:::tip
Get started with Medusa in a few minutes with the [Quickstart guide](./quickstart/quick-start.md)!
:::
## Features
Medusa comes with a set of building blocks that allow you to create unique digital commerce experiences, below is a list of some of the features that Medusa comes with out of the box:
- **Headless**: Medusa is a highly customizable commerce API which means that you may use any presentation layer such as a website, app, chatbots, etc.
- **Regions** allow you to specify currencies, payment providers, shipping providers, tax rates, and more for one or more countries for truly international sales.
- **Orders** come with all the functionality necessary to perform powerful customer service operations with ease.
- **Carts** allow customers to collect products for purchase, add shipping details, and complete payments.
- **Products** come with relevant fields for customs, stock keeping, and sales. Medusa supports multiple options and unlimited variants.
- **Swaps** allow customers to exchange products after purchase (for example, for incorrect sizes). Accounting, payment, and fulfillment plugins handle all the tedious work for you for automated customer service.
- **Claims** can be created if customers experience problems with one of their products. Plugins make sure to automate sending out replacements, handling refunds, and collecting valuable data for analysis.
- **Returns** allow customers to send back products and can be configured to function in 100% automated flow-through accounting and payment plugins.
- **Fulfillment API** makes it easy to integrate with any fulfillment provider by creating fulfillment plugins.
- **Payments API** makes it easy to integrate with any payment provider by creating payment plugins, Medusa already supports Stripe, Paypal, and Klarna.
- **Notification API** allows integrations with email providers, chatbots, Slack channels, etc.
- **Customer Login** gives customers a way of managing their data, viewing their orders, and saving payment details.
- **Shipping Options & Profiles** enable powerful rules for free shipping limits, multiple fulfillment methods, and more.
- **Medusa's Plugin Architecture** makes it intuitive and easy to manage your integrations, switch providers and grow with ease.
- **Customization** is supported for those special use cases that all the other e-commerce platforms can't accommodate.
## Where to Get Started
### The Medusa Server
You can follow the [quickstart guide](quickstart/quick-start.md) to install and run a Medusa server.
It's also recommended to learn how to [set up your development environment](tutorial/set-up-your-development-environment) with the required tools and services to run a Medusa server, then [configure your Medusa server](usage/configurations.md).
### The Medusa Admin
The Medusa Admin provides you with a lot of functionalities and configurations such as Product Management, Order Management, Discounts and Promotions, and more.
You can install the Medusa admin in two steps by following the [Medusa Admin quickstart guide](admin/quickstart.md).
### The Storefront
The final step is to set up a storefront to sell your products.
Medusa provides two starter storefronts, one built with [Next.js](./starters/nextjs-medusa-starter.md) and one with [Gatsby](./starters/gatsby-medusa-starter.md), that you can use to quickly set up your store and start selling.
Alternatively, you can build your own storefront with any frontend framework of your choice just by connecting to your server with the [Storefront REST APIs](https://docs.medusajs.com/api/store).
## Whats Next
- Customize your Medusa server by creating your own [endpoints](./advanced/backend/endpoints/add.md), [services](./advanced/backend/services/create-service.md), and [subscribers](./advanced/backend/subscribers/create-subscriber.md).
- Check out guides under the Integrations section to install plugins for [CMS](./add-plugins/strapi.md), [Payment](./add-plugins/stripe.md), [Search Engines](./add-plugins/algolia.md), and more.
- Deploy your Medusa server in seconds on [Heroku](deployments/server/deploying-on-heroku.mdx), [Qovery](deployments/server/deploying-on-qovery.md), or [Digital Ocean](deployments/server/deploying-on-digital-ocean.md).
## Open Source Contribution
As Medusa is an open source platform, contributions to improve it and its documentation are welcome. In the GitHub repository heres where youll find the different components you can contribute to:
- The core of the Medusa server resides in [`packages/medusa`](https://github.com/medusajs/medusa/tree/master/packages/medusa).
- You can also find all existing plugins under [the `packages` directory](https://github.com/medusajs/medusa/tree/master/packages).
- The documentation content resides in [`docs/content`](https://github.com/medusajs/medusa/tree/master/docs/content). The code for the documentation website is in [`www/docs`](https://github.com/medusajs/medusa/tree/master/www/docs).
You can find more details about contributing in [CONTRIBUTING.md](https://github.com/medusajs/medusa/blob/master/CONTRIBUTING.md).
## Community & Support
If you need any support during your development with Medusa, you can join Medusa's [Discord Server](https://discord.gg/medusajs). You will get help directly from Medusa's core team as well as the community.
By joining the Discord Server, youll also have the chance to participate in many events such as Bug Hunts and showcase your work with Medusa.
+170
View File
@@ -0,0 +1,170 @@
---
id: homepage
title: Medusa Documentation
description: "Get an overview of Medusa's features, integrations, and how to use them."
slug: /
hide_table_of_contents: true
hide_footer: true
---
import DocCardList from '@theme/DocCardList';
# Medusa Documentation
Get an overview of Medusa's features, integrations, and how to use them.
## Medusa basics
Learn about Medusa basic features and kickstart your ecommerce project.
<DocCardList colSize={4} items={[
{
type: 'link',
href: '/quickstart/quick-start',
label: 'Quickstart Guide',
customProps: {
image: '/img/quickstart-icon.svg',
description: 'Create your first Medusa server.',
className: 'card-highlight'
}
},
{
type: 'link',
href: '/tutorial/set-up-your-development-environment',
label: 'Set up Dev Environment',
customProps: {
themedImage: {
light: '/img/dev-env-icon.svg',
dark: '/img/dev-env-icon-dark.svg'
},
description: 'Set up your dev environment.'
}
},
{
type: 'link',
href: '/usage/configurations',
label: 'Configure your Server',
customProps: {
themedImage: {
light: '/img/server-icon.svg',
dark: '/img/server-icon-dark.svg'
},
description: 'Explore Medusa\'s configurations.'
}
},
{
type: 'link',
href: '/starters/nextjs-medusa-starter',
label: 'Next.js Starter',
customProps: {
themedImage: {
light: '/img/nextjs-icon.svg',
dark: '/img/nextjs-icon-dark.svg'
},
description: 'Install Medusa\'s Next.js storefront.'
},
},
{
type: 'link',
href: '/starters/gatsby-medusa-starter',
label: 'Gatsby Starter',
customProps: {
themedImage: {
light: '/img/gatsby-icon.svg',
dark: '/img/gatsby-icon-dark.svg'
},
description: 'Install Medusa\'s Gatsby storefront.'
}
},
{
type: 'link',
href: '/admin/quickstart',
label: 'Admin Quickstart Guide',
customProps: {
themedImage: {
light: '/img/admin-icon.svg',
dark: '/img/admin-icon-dark.svg'
},
description: 'Install Medusa\'s Admin to manage your store.'
}
}
]} />
## Most popular
Best of the greatest.
<DocCardList colSize={4} items={[
{
type: 'link',
href: '/advanced/backend/plugins/create',
label: 'Create a Plugin',
customProps: {
themedImage: {
light: '/img/terminal-icon.svg',
dark: '/img/terminal-icon-dark.svg'
},
description: 'Create, test, and publish a plugins.'
}
},
{
type: 'link',
href: '/add-plugins/stripe',
label: 'Integrate Stripe',
customProps: {
themedImage: {
light: '/img/stripe-icon.svg',
dark: '/img/stripe-icon-dark.svg'
},
description: 'Install Stripe on your Medusa server.'
}
},
{
type: 'link',
href: '/advanced/storefront/how-to-implement-checkout-flow',
label: 'Implement Checkout',
customProps: {
themedImage: {
light: '/img/cart-icon.svg',
dark: '/img/cart-icon-dark.svg'
},
description: 'Implement the checkout flow in your storefront.'
}
},
{
type: 'link',
href: '/advanced/admin/import-products',
label: 'Import Products',
customProps: {
themedImage: {
light: '/img/tee-icon.svg',
dark: '/img/tee-icon-dark.svg'
},
description: 'Bulk import products into Medusa.'
},
},
{
type: 'link',
href: '/advanced/backend/shipping/overview',
label: 'Shipping Overview',
customProps: {
themedImage: {
light: '/img/fast-delivery-icon.svg',
dark: '/img/fast-delivery-icon-dark.svg'
},
description: 'Learn how shipping works in Medusa.'
}
},
{
type: 'link',
href: '/advanced/backend/payment/overview',
label: 'Payment Overview',
customProps: {
themedImage: {
light: '/img/payment-accepted-icon.svg',
dark: '/img/payment-accepted-icon-dark.svg'
},
description: 'Learn how payment works in Medusa'
}
}
]} />
@@ -8,7 +8,9 @@ This document guides you to install and set up the Gatsby Storefront for your Me
Instead of manually following this guide to install then later deploy the Gatsby Storefront, you can deploy the Gatsby Storefront to Netlify with this button:
[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/medusajs/gatsby-starter-medusa)
<a href="https://app.netlify.com/start/deploy?repository=https://github.com/medusajs/gatsby-starter-medusa" class="img-url">
<img src="https://www.netlify.com/img/deploy/button.svg" alt="Deploy to Netlify" class="no-zoom-img" />
</a>
## Prerequisites
@@ -8,7 +8,9 @@ This document guides you to install and set up the Next.js Storefront for your M
Instead of manually following this guide to install then later deploy the Next.js Storefront, you can deploy the Next.js Storefront to Netlify with this button:
[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/medusajs/nextjs-starter-medusa)
<a href="https://app.netlify.com/start/deploy?repository=https://github.com/medusajs/nextjs-starter-medusa" class="img-url">
<img src="https://www.netlify.com/img/deploy/button.svg" alt="Deploy to Netlify" class="no-zoom-img" />
</a>
## Prerequisites
@@ -25,7 +25,7 @@ command not found: medusa
You have to add Yarns install location to the PATH variable:
<Tabs groupId="operating-systems">
<Tabs groupId="operating-systems" wrapperClassName="code-tabs">
<TabItem value="unix" label="MacOS / Linux" default>
```bash
@@ -2,6 +2,8 @@
sidebar_position: 3
---
import UiIcon from '@site/src/components/UiIcon';
# Manage Customer Groups
In this document, youll learn how to manage customer groups, including customers in these groups.