Our storefront sample application shows how you can build amazing commerce experiences with the latest Commerce platform technologies. The application back end is built on the new Salesforce Commerce API (a RESTful headless API). The front end is built with Lightning Web Components (LWC). In between, it uses GraphQL and the Salesforce Commerce Node.js SDK.
Read more about the architecture.
The sample application shows you a recommended approach for building a storefront, but it is not a complete and fully functional storefront reference application. The sample application now includes a home page, product list page, and product detail page. More great features are coming soon!
Note: sfcc-sample-apps is a monorepo with a sample application and Backend For Frontend (BFF) dependency modules. Typically, dependencies modules are published to a public npm server. However to develop an application, the modules are included together in a single repository.
- Download and install Node.js v12.
- Install yarn:
npm install yarn -g
To set up the sample application:
-
Clone the sfcc-sample-apps repository:
git clone [email protected]:SalesforceCommerceCloud/sfcc-sample-apps.git
-
Change into the
sfcc-sample-apps
folder:cd sfcc-sample-apps
-
Copy the
api.example.mjs
file located at/packages/storefront-lwc/scripts/
, save it asapi.mjs
, and make sureapi.mjs
is added to your.gitignore
file. -
In the
api.mjs
file, provide values for the following variables (you can obtain these values from your Account Executive (AE) or Customer Support Manager (CSM)):
Variable | Description |
---|---|
COMMERCE_CLIENT_API_SITE_ID | A unique site ID (for example, RefArch or SiteGenesis). |
COMMERCE_CLIENT_CLIENT_ID | A unique ID used exclusively for API access. See Add a Client API for more information. |
COMMERCE_CLIENT_REALM_ID | A unique four-character ID (for example, bblx). |
COMMERCE_CLIENT_INSTANCE_ID | Instance ID within a realm (for example, 015). |
COMMERCE_CLIENT_SHORT_CODE | Region-specific merchant identifier (for example, staging-001). |
-
Install dependencies:
yarn
-
Build the sample application:
yarn build
-
Start the sample application:
yarn start:dev
(development mode) oryarn start
(production mode) -
To access the sample application in development mode, open the browser to http://localhost:3000 (for production mode, open to http://localhost:3002).
You can optionally test the sample application:
yarn test
We recommend Visual Studio Code inbuilt debugger to troubleshoot the code. The .vscode
launch configuration is included in the repo. To debug using VSCode, see VS Code Debugging.
- You can change the logging levels by modifying the
COMMERCE_LOG_LEVEL
property inapi.mjs
. The supported log levels are:TRACE
DEBUG
INFO
WARN
ERROR
SILENT
- You can also change the server listening port by changing the
port
property inscff-sample-apps/packages/storefront-lwc/lwc-services.config.js
.
- See Contributing