MedusaJs Headless eCommerce CMS: A Shopify Alternative for developers.
Shopify has proven to be one of the best platforms for building E2E eCommerce shops for businesses, quite commendable because it is beginner friendly and easy to use. You can get your business up and running in minutes with Shopify because a lot of things are managed for you.
But in a developer's case, you probably might want to fully manage the whole eCommerce store and customize it to your needs or your client's needs. This is where a headless commerce CMS comes in and offers other benefits like costs and scalability which are crucial for most businesses.
How a Headless CMS works
A headless CMS works by separating the content authoring experience from the software development experience, giving editors an interface for managing content and providing that content via APIs for developers to query and build applications with. Because of the headless approach, the content can be used on an iOS app, Android app as well as any platform and technology you can think of and is, therefore, a powerful option for mobile and web developers.
This differs from the standard coupled CMS which takes a monolithic approach whereby customizing even the storefront will need some hack to work around it. Example of popular headless CMS include MedusaJs, Strapi, Contentful, Netlify CMS.
Why MedusaJs?
Since we've already figured out that MedusaJs is a popular headless CMS, you might be asking why use MedusaJs instead of Strapi let's say? At this point, we're looking for a CMS that can work well as an alternative for Shopify, that means that our headless CMS should be having almost every other functionality that Shopify offers for a smooth business flow.
We've picked MedusaJS since it is eCommerce-centirc and comes with a variety of tools, modules and plugins that are considered industry standard for most eCommerce platforms.
MedusaJs features
i. Cost
In terms of saving up, MedusaJs cuts down the required cost of owning a Shopify store, this is because MedusaJs is open source hence offering a good developer experience with it's documentation and community support.
A Basic package for a commerce shop on Shopify for small businesses is about $32/month when billed monthly and $24/month when billed annually compared to MedusaJs which is open source (free to use). Once you get the project, you only need a server to deploy it and your business will be up and running.
MedusaJs is built with NodeJs and Express, you can deploy the application on any server including Digital Ocean for as low as $4, it's documentation offers a rich step by step guide on how to deploy the app on popular servers like Digital Ocean, Microtica(Based on AWS) or even Heroku.
ii. Documentation and Support
Although Shopify also offers full-time 24/7 support when you purchase their packages (which is an advantage), the MedusaJs community are supportive enough for you to get assistance. Their discord server is full of active community members who support each other. Without mentioning, their documentation is full of tutorials on how to get started and set up things. Everything you need is provided for you in the documentation as it is also easy to understand. You can also ask for assistance on github on their discussions tab.
iii. Customization
Shopify's customization capabilities are limited as compared to MedusaJs, you might end up purchasing more premium features for full customization of your app. With MedusaJs you are in-charge of customizing the entire application according to your needs be it the storefront or the admin dashboard.
As compared to Shopify which has a lot of customizable themes you can use, since using MedusaJs you are in-charge of the code, you can either build your own storefront from scratch or using their default storefront template that they offer of which you can still modify every single part of it if you like.
The admin dashboard is also customizable and you can decide to include your own custom features, this is possible by using the admin widgets offered by MedusaJs or you can go ahead and edit the admin-ui package and patch it for full customization.
iv. Architecture, payments and plugins
MedusaJs being a headless CMS, means that it uses the decoupled CMS approach, the storefront, admin ui and the server are all different entities of your project whereby the information from the database is fed to the ui via apis. This is a good approach because you can easily integrate any sort of application as your store front like mobile apps or websites and is an advantage compared to Shopify which uses the monolithic CMS approach.
For payment services, Shopify comes with it's default payment gateway(Shopify Payments), if you opt to use an external payment feature, you are charged extra for this, this a disadvantage compared to MedusaJs whereby you can integrate any payment service in your application. The MedusaJs docs offers a rich step by step guide on how you can integrate different payment options including stripe and paypal easily which I find cool.
MedusaJs's multicurrency feature is a game changer for most eCommerce platforms, with MedusaJs, merchants can add an unlimited number of currencies and regions to their store, and specify prices specific for each currency and region. This feature allows merchants to serve customers globally without limitations related to pricing. Medusa's ecommerce engine also provides the flexibility of setting prices for each product per currency or region.
MedusaJs's architecture is designed to facilitate integrations and custom developments while making sure they are easy to maintain afterward. You can likewise leverage plugins created by the community as well, for instance, the Medusa extender facilitating multi-vendor support. Medusa also supports a range of third-party integrations out of the box, including CMS (Contentful & Strapi), payment (e.g. Stripe, Paypal), marketing (e.g. SendGrid and S3), search (Algolia & Meilisearch), analytics (e.g. Segment), and many more.
Pro tip: To get MedusaJs's best performance and reduce security risks since you're responsible for managing the whole app, it’s better to spend a little extra on hosting that provides security features such as firewalls, regular automated backups, and more.
Conclusion
It's quite evident from here that MedusaJs is rich of features and has an advantage of using it, although it mainly benefits developers, especially if you have an experience with JavaScript and it's frameworks/libraries. If you're looking forward to spend less and take full advantage of the eCommerce world by customizing everything to your needs then MedusaJs is for you. Shopify is a good platform for non developers who are willing to spend extra for their business to start running in a short period of time and easily.
Subscribe to my newsletter
Read articles from Dan Walobwa directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by