Shopify的替代品:使用Medusa建立可定制和灵活的电子商务解决方案

1,174 阅读11分钟

Shopify的替代品:使用Medusa建立可定制和灵活的电子商务解决方案

本文介绍了Medusa,它是Shopify的一个开源的、以开发者为中心的替代品,可以根据需要进行定制和扩展。

Shopify是一个电子商务平台,为商家提供了一个简单而快速的方式来建立他们的网上商店。它是那些在创建网上商店时不想要其他平台的技术复杂性的企业的一个流行选择。

然而,众所周知,Shopify的可扩展性是有限的,试图在其中建立更多的自定义逻辑,对开发者来说是一种可怕的经历。

Medusa是一个开源的Shopify替代品,它的建立是为了解决其中的一些扩展问题。

开箱即用,Medusa提供了与Shopify类似的核心电子商务功能,但其开放和可组合的架构允许在构建自定义逻辑或与第三方服务集成时有更多的灵活性和更好的开发者流程。

这篇文章涵盖了Medusa相对于Shopify的优势以及如何开始使用Medusa。

Medusa的优势

让我们仔细看看Medusa为开发者提供了什么。

一个以开发者为中心的平台

Medusa是为开发者建立的,它的主要重点是提供一个伟大的开发者体验。它是用抽象层构建的,如果需要任何定制,它是高度可扩展的。

由于其无头和抽象的架构,添加集成也是无忧无虑的。开发人员不需要担心使用变通方法来使平台与其他服务和工具一起工作。他们可以扩展现有的抽象层来创建任何集成。

作为一个以开发者为中心的Shopify替代品,Medusa提供了详细的文档,并在不断改进,以使开发者能够按照简单的步骤建立他们的电子商务平台。

Medusa的无头架构

Medusa's architecture

无头的概念是指将前端与后端解耦。对于后端来说,这意味着它不受任何表现层的桎梏。后台只负责处理系统的数据和逻辑。

后台暴露了一组API,允许任何前端或表现层与之交互。

这种解耦使开发者可以自由选择使用哪种语言或框架来做前端。开发人员可以使用GatsbyNext.jsJamstack框架。他们还可以整合不同类型的渠道,如移动应用或市场。

Medusa由三个组件组成:无头服务器、店面和管理面板。虽然Medusa提供了两个初始店面--一个用Next.js构建,另一个用Gatsby构建,还有一个直观设计的管理面板--但开发者完全可以从头开始用任何其他框架构建这些组件。他们所需要做的就是与REST APIs进行交互。

这使得从事前端工作的开发人员能够集中精力提供独特和良好的用户体验,而无需将店面与后台紧密结合。

一个开源的Shopify替代品

专有解决方案的一个很大的缺点是,你永远不会对你的技术栈有完全的所有权。无论你被赋予多少定制功能,你在选择功能或工具方面总是受到限制。

另一方面,像Medusa这样的开源解决方案,允许你对你的技术栈拥有完全的所有权。你可以将Medusa用于你的电子商务商店,但你也可以完全定制核心,使其适应任何特定的需求。

这种灵活性保证了企业可以拥有一个完全迎合其使用情况的平台。此外,他们的平台可以随着时间的推移随着他们的业务需求而增长。

无论他们是否需要在未来增加更多的功能和定制,或确保平台可以随着时间的推移而扩展,这都可以在Medusa中完成,没有任何限制。

开发人员和商户的灵活性

上述优势所带来的灵活性,意味着开发者和商家在选择Medusa电子商务平台的服务和工具时都有充分的自由。

例如,对于丰富的CMS功能,商家可以选择整合Strapi,Contentful,或任何其他他们想要的服务。

对可以使用的工具或服务没有任何限制。在选择本地支付和履行供应商时,这一点就更加重要了。

所有的整合都是通过插件完成的。你可以选择现成的插件或创建自己的插件。

插件是以即插即用的方式安装在你的Medusa服务器上。他们在Medusa服务器的同一过程中运行,所以你不需要分配额外的服务器空间或基础设施。

先进的电子商务功能

抛开所有的技术优势,Medusa还配备了许多先进的电子商务功能,包括以下内容。

多币种支持

Shopify企业遇到的一个大问题是在他们的商店里支持多种货币。这个功能需要特殊的条件,取决于你在哪个国家经营或你有什么计划。

然而,即使启用了这一功能,它仍然不能为企业提供灵活的格式和设置每个产品的价格。

这一功能的缺乏和它的局限性导致企业为每种货币建立和管理多个商店。这导致大量额外的手工工作和人为错误。

另一方面,Medusa提供了开箱即用的多地区支持,而且没有限制。你可以添加你想要的地区,为这些地区指定货币,并为每种货币单独管理每个产品的定价,所有这些都来自同一个管理仪表板。

Multiple prices for each currency for a product

这消除了管理多个商店所带来的额外手工工作的需要,并防止了随之发生的人为错误。

自动化的RMA(退货授权)流程

根据UPS的统计,73%的购物者说他们的退货体验会影响他们将来是否再次从零售商那里购买。因此,为您的电子商务商店提供一个简单和无障碍的退货体验是至关重要的。

Medusa提供完全自动化的退货、调换和索赔流程,可以很容易地从管理仪表板上进行处理--从客户要求从店面退货开始到物品被标记为退货。

物品也可以以同样的方式被交换或调换。这也将自动反映在综合会计系统上,并且都可以从管理仪表板上轻松管理。

促销API和礼品卡

Discounts in Medusa

Medusa提供了一个先进的促销API,具有许多定制功能。商家有来自这个促销API的标准用例,你会发现在所有的平台上 - 如设置免费送货折扣,固定金额的折扣,或折扣百分比。

此外,商家可以指定特定于客户群、产品、赎回数量和更多条件的折扣。

此外,礼品卡可以很容易地通过管理仪表板添加和管理到Medusa中,而且它们的处理方式与其他产品的购买方式不同。礼品卡也有自己的高级条件和可定制的设置,可以从管理仪表板上指定。

多供应商支持

对于能够创建在线市场电子商务平台的平台的需求越来越大。Medusa的可扩展性使它成为一个伟大的平台来创建你的在线市场。

一个名为Medusa Extender的社区插件使其更容易实现。这个插件为你提供了更多的定制能力,以完全扩展核心,并为市场的使用情况进行修改。

Medusa也有一个教程系列,介绍了创建市场的基本知识--包括将不同的实体,如用户和产品链接到商店,管理每个商店和全球的订单,以及管理商店内的用户和他们的权限。

其他功能

Medusa带有许多API和电子商务功能,为开发者和商家提供高级功能。

税收API,除了提供开箱即用的设置外,还实现了抽象化,允许整合第三方服务和工具来处理高级税收。

Taxes in Medusa

PriceList API为产品提供许多与折扣、客户群等相关的定价条件。

Price list in Medusa

所有这些设置和无头服务器中的功能都可以从用Gatsby构建的直观的管理仪表板上轻松管理。

Medusa还在努力开发更多的功能,如产品的批量导入和导出、销售渠道、多仓库支持等。

社区和支持

作为一个以开发者为中心的平台,作为一个开源的解决方案,Medusa专注于与社区密切合作,并提供任何需要的支持。

开发人员可以加入Medusa在Discord的社区,在那里他们可以加入讨论,展示他们与Medusa的工作,并在使用Medusa时遇到麻烦时获得帮助。

开发人员几乎可以立即从社区和Medusa核心团队获得帮助。他们所要做的就是在#need-help 频道上提出问题,有人会指导他们解决问题--通常在几个小时之内。

开发人员还可以报告错误,为Medusa作出贡献,并加入GitHub仓库的讨论。

如何开始使用Medusa

本节介绍了如何安装Medusa服务器、Medusa管理员和Gatsby店面的总体情况。

先决条件

要使用Medusa,你需要至少安装14版的Node.js

如何建立一个Medusa服务器

首先安装Medusa CLI工具。

npm install -g @medusajs/medusa-cli

然后,运行下面的命令来创建一个新的Medusa服务器。

medusa new my-medusa-store --seed

这样就把Medusa服务器安装到了my-medusa-store 目录中,这个目录也被创建了。--seed 选项在my-medusa-store 目录下创建并播种一个SQLite数据库。

最后,改变到Medusa服务器的目录并启动服务器。

cd my-medusa-store
medusa develop

该服务器默认运行在端口9000 。你可以使用REST APIs来测试它,或者你可以跟随本节的其余部分,看看它在连接到Medusa管理员和店面时的运行情况。

我们还建议你安装一个存储插件来处理产品图片的存储。你可以使用MinIOS3DigitalOcean Spaces

如何安装Medusa管理员

在一个单独的目录中,运行以下命令,克隆Admin的GitHub仓库,并换到新创建的目录中。

git clone https://github.com/medusajs/admin medusa-admin
cd medusa-admin

然后,用npm安装依赖项。

npm install

最后,确保Medusa服务器仍在运行,并启动Medusa管理服务器。

npm start

管理器通常运行在localhost:7000 。在你的浏览器中打开它,你应该看到一个登录界面。

Admin Login

要登录,你可以使用演示的用户凭证,电子邮件admin@medusa-test.com ,密码supersecret

在管理员仪表板上,你可以添加产品,管理订单,管理商店配置,以及更多。

Admin Dashboard

如何安装Gatsby店面

如果你还没有安装Gatsby CLI,请安装它。

npm install gatsby-cli -g

然后,在一个与之前不同的目录中,运行以下命令来安装Gatsby店面。

gatsby new my-medusa-storefront https://github.com/medusajs/gatsby-starter-medusa

然后,切换到新创建的目录,将.env.template 改名为.env.development

cd my-medusa-storefront
mv .env.template .env.development

最后,当Medusa服务器仍在运行时,启动Gatsby服务器。

npm start

店面默认运行在端口localhost:8000 。在你的浏览器中打开它。你应该看到一些来自Medusa服务器的演示产品。你可以把这些产品添加到你的购物车中,通过结账过程并下订单。你也可以创建一个账户,并查看客户资料功能。

Gatsby Storefront

接下来的步骤

对Medusa的介绍就到此为止,它是一个可行的Shopify替代方案,适合那些在建立电子商务商店时寻求更多自由和灵活性的开发者。

在设置好你的Medusa服务器、管理员和店面后,你可以探索更多你可以用Medusa做的事情,包括:

如果你有任何与Medusa相关的问题或疑问,请随时通过Discord联系Medusa团队。