* wip: validate line item SC * fix: repository type, remove relation, use sc id, check if cart has associated sc * feat: setup tests and seeder, change entity retrieval in cart service method * feat: remove repo usage and method, use Adrien's method from product service to check sc association, add test cases, add seeder entities, accept flag for validating sc on the endpoint * feat: add a unit test to ensure validation method is called if flag is passed * feat: allow `validate_sales_channels` flag in other relevant endpoints * fix: typo * fix: flag rename * fix: correct FF in test suites * fix: address PR feedback * fix: change error message * feat: remove query params, guard with FF, refactor * feat: guard validation in the service * refactor: rename validation method * refactor: reorganise tests * wip: cleanup test file * wip: revert cart seeder changes use factories * fix: remove seeder, update mocks * fix: method name * fix: units, validate by default * git: resolve merge conflicts * refactor: separate line item sales chanel units Co-authored-by: fPolic <frane@medusajs.com>
Medusa
Documentation | Medusa Admin Demo | Website
An open-source composable commerce engine built for developers.
Getting Started
Deploy in 5 minutes
You can deploy your Medusa server in 5 minutes just by clicking the button below.
Install Locally
You can install Medusa locally or manually on your server by either following our Quickstart guide or the following steps:
-
Install Medusa CLI
npm install -g @medusajs/medusa-cli -
Create a new Medusa project
medusa new my-medusa-store --seed -
Start your Medusa engine
medusa develop
Requirements
- Node v14.0 or higher.
- SQLite or PostgreSQL (SQLite is only for getting started; PostgreSQL is recommended)
- Redis
You can check out this documentation for more details about setting up your environment.
What is Medusa?
Medusa is an open source composable commerce engine built with Node.js. Medusa enables developers to build scalable and sophisticated commerce setups with low effort and great developer experience.
You can learn more about Medusa’s architecture in our documentation.
Features
- Orders, Exchanges, and Returns APIs: Aside from the standard order management that comes with ecommerce platforms, Medusa also provides an easy and automated way to manage swaps, returns, and claims.
- Products and Collections APIs: Add products with extensive customization settings and sort them into collections.
- Region API: Configure and manage multiple regions and currencies all from one platform.
- Plugin API: Easily integrate fulfillment providers, payment providers, notification services, and many other custom tools and third-party services.
- PriceList and Promotions APIs: Advanced pricing for products with conditions based on its amount in the cart or promotions and discounts.
- Tax API: Advanced tax configurations specific to multiple regions, with capability of specifying taxes for specific products.
See more of the ecommerce features on our documentation.
Roadmap
Write-ups for all features will be made available in Github discussions prior to starting the implementation process.
2022
- Admin revamp
- Tax API
- Tax Calculation Strategy
- Cart Calculation Strategy
- Customer Groups API
- Promotions API
- Price Lists API
- Price Selection Strategy
- Import / Export API
- Sales Channel API
- Extended Product API (custom fields, publishing control, and more)
- Extended Order API (managing placed orders, improved inventory control, and more)
- Multi-warehouse support
- GraphQL API
Plugins
As a headless and extendible solution, Medusa allows you to integrate third-party services or add custom features into Medusa by installing Plugins.
Check out our available plugins that you can install and use instantly on your Medusa server.
Contributions
Medusa is all about the community. Therefore, we would love for you to help us build the most robust and powerful commerce engine on the market.
Whether it is fixing bugs, improving our documentation or simply spreading the word, please feel free to join in. Please check our contribution guide for further details about how to contribute.
Community & Support
Use these channels to be part of the community, ask for help while using Medusa, or just learn more about Medusa:
- Discord: This is the main channel to join the community. You can ask for help, showcase your work with Medusa, and stay up to date with everything Medusa.
- GitHub Issues: for sending in any issues you face or bugs you find while using Medusa.
- GitHub Discussions: for joining discussions and submitting your ideas.
- Medusa Blog: find diverse tutorials and company news.
Upgrade Guides
Follow our upgrade guides on the documentation to keep your Medusa project up-to-date.
License
Licensed under the MIT License