Skip to content
Nishant Kapoor edited this page Jun 12, 2020 · 20 revisions

Overview

Thank you for your interest in contributing to the Storefront API Project! As part of our journey towards microservices and distributed deployments, we are beginning to decouple all Catalog storefront capabilities from the Magento monolith into an independent storefront application that can be scaled independently.

The benefits of this storefront application will be:

  • Highly optimized read APIs for significantly better storefront performance.
  • Independent and more frequent updates that deliver business value.
  • Highly optimized GraphQL service that can be scaled independently.

Catalog Storefront Service

Catalog service provides shoppers access to products and categories and their attributes. Catalog service is not a source of truth for the data it stores and basically is a projection of the connected management systems like PIM, ERP, etc.

Consequences for data and storage:

  • Due to its origin, the data in catalog service is eventually consistent.
  • The structure of the stored data is optimized to service storefront reads scenarios. Data denormalized.
  • The data is partitioned per store view. The store view is selected as an optimal data distinguisher.

Catalog storefront service will provide read and import APIs.

  • Read API's will be exposed to the shopper through the BFF layer such as GraphQL.
  • Import API will not be exposed to the public. The purpose of the import API is to populate the catalog database with the data received from the various sources.