Home Spartacus JavaScript Storefront

Note: Spartacus 3.x is no longer maintained. Please upgrade to the latest version.

Note: Spartacus 3.x was tested with SAP Commerce Cloud versions 1905 to 2105. Spartacus 3.x has not been verified to work with (and is not guaranteed to work with) SAP Commerce Cloud 2211 or later releases.

What is Spartacus?

If you are working with an older version of the Spartacus libraries, you can find the full suite of corresponding documentation in our Documentation Archive.

Spartacus is a lean, Angular-based JavaScript storefront for SAP Commerce Cloud. Spartacus talks to SAP Commerce Cloud exclusively through the Commerce REST API.

Spartacus is also an open source project. You can view the Spartacus source code in this GitHub repository.

See the following introductory videos for a quick overview of Spartacus:

If you have technical questions, you can get in touch with us on Stack Overflow. For non-technical questions, you can reach us on our Slack workspace. Feedback welcome!


Table of Contents


Extensible

Spartacus is designed to be upgradable while maintaining full extendability. You'll be able to adopt new versions of Spartacus by updating the Spartacus libraries that we will regularly enhance.

Version 1.0.0 was released July 4, 2019, a month after SAP Commerce Cloud 1905.

Progressive

Spartacus is on a journey to be fully compliant with the Progressive Web Application (PWA) checklist. We aim to add support for all major features of a PWA-enabled storefront, to offer the best possible customer experience regardless of device or location.

Open Source

Spartacus is open source. It will be continually developed by the SAP Commerce Cloud team, but we are very keen to welcome contributors and to foster an inclusive, active development community for Spartacus.

See Contributing to the Spartacus Storefront for more information.

Technology

The Spartacus storefront is part of our exciting new journey towards a customizable-yet-upgradable technology for SAP Commerce Cloud installations.

See SAP Customer Experience for more information about SAP Commerce Cloud.

Storefront Features

Spartacus provides core storefront features such as:

  • home page
  • search
  • categories
  • product details
  • cart page
  • adding to cart
  • checkout
  • order history

Requirements

Your Angular development environment should include the following:

  • Angular CLI: Version 10.1 or later, < 11.
  • Yarn: Version 1.15 or later.
  • Node.js: The most recent 14.x version is recommended. Version 12.x reached end-of-life on April 30, 2022, and is no longer supported by Spartacus. It is strongly recommended that you migrate any existing Spartacus storefronts to Node.js 14 as soon as possible. If there are any issues with Spartacus and Node.js 14, please upgrade to the latest releases. If you continue to experience issues with Node.js 14, create a support ticket with SAP.

For the back end, SAP Commerce Cloud version 1905 or higher is required, and SAP Commerce Cloud version 2005 or newer is recommended.

Note: Some Spartacus features require API endpoints that are only available in newer versions of SAP Commerce Cloud. For more information, see Feature Compatibility.

Download and Installation

To get up and running with Spartacus, the recommended approach is to build your storefront application from ready-made libraries. You can also clone and build from source, but upgrading is not as simple.

Spartacus currently can only be used with a SAP Commerce Cloud instance through Commerce APIs.

For complete setup instructions, see the Building the Spartacus Storefront from Libraries guide.

Customizing and Extending Spartacus

To maintain our promise of upgradability, the design pattern for Spartacus is for non-core features to be built as feature libraries that add to or change the provided functionality.

When using Spartacus, you build an app that pulls in the Spartacus libraries, which contain the core resources needed to work with SAP Commerce Cloud. You then build new features that contain any custom functionality and pages.

Content for Spartacus pages is fetched from the SAP Commerce Cloud CMS (Content Management System), such as logos, links, banners and static pages. We recommend that new content-driven features follow the same pattern to enable Content Managers to modify page content through the CMS tools.

The documentation for customizing and extending Spartacus is still under development and is being released as it becomes available.

Limitations

With the release of 1.0.0, it is recommended to use SAP Commerce Cloud 1905. Spartacus works with Release 1808 and 1811 of SAP Commerce Cloud, with some limitations.

Spartacus is also being updated so that it works well with upcoming releases of SAP Commerce Cloud. This means that certain features of Spartacus may only work with unreleased future editions of SAP Commerce Cloud. This will be noted as we release new versions of Spartacus.

Known Issues

Known issues are documented in the GitHub issue tracking system.

How to Obtain Support

You can get support for Spartacus in the following ways:

  • Get answers from our developers and the Spartacus community by asking a question on Stack Overflow.
  • Problem or bug? If you have a SAP Commerce Cloud license, create a customer support ticket.
  • For non-technical questions, you can reach us on our Slack workspace.

Contributing

Team Spartacus welcomes feedback, ideas, requests, and especially code contributions.

Public Instance of Spartacus

This public instance of Spartacus is running on SAP Commerce Cloud (CCv2).

We may have our latest version on the link above, but in the future we hope to update our deployments quickly and frequently.

To Do

Many improvements are coming! All tasks will be posted to our GitHub issue tracking system. As mentioned, some of the improvements will mean breaking changes. While we strive to avoid doing so, we cannot guarantee this will not happen before the first release.

License

Copyright (c) 2019 SAP SE or an SAP affiliate company. All rights reserved. This file is licensed under the Apache Software License, v. 2 except as noted otherwise in the LICENSE file.