Marketplace Product feature: Domain model and relationships
Edit on GitHubThe Marketplace Product feature provides a relation between Products and Merchants.
MerchantProductAbstract
is a database table used to store data with the Product and Merchant relations. The Product features work as in the Spryker Commerce OS.
However, on the Storefront, there are additional plugins and widgets to support the relation between Products and Merchants.
Products are extended with the merchant’s data and, when purchased, are assigned to the appropriate MerchantOrder
.
Module dependency graph
The following diagram illustrates the dependencies between the modules for the Marketplace Product feature.
MODULE | DESCRIPTION |
---|---|
MerchantProduct | Provides connection between the product and merchant entities. |
MerchantProductDataImport | Imports relations between the products and the merchants from the CSV file. |
ProductMerchantPortalGui | Provides components for merchant product management. |
ProductMerchantPortalGuiExtension | Provides extension interfaces for the ProductMerchantPortalGui module. |
MerchantProductStorage | Manages the storage for the merchant product abstract. |
MerchantProductWidget | Provides the merchant product abstract information. |
Product | Provides the base infrastructure and CRUD operations to handle the abstract and concrete products. |
MerchantProductsRestApi | Provides REST API endpoints to manage the marketplace products. |
CartsRestApiExtension | Provides plugin interfaces used by the CartsRestApi module. |
Domain model
The following schema illustrates the Marketplace Product domain model:
| ||
Thank you!
For submitting the form