Spartacus is a lean, Angular-based JavaScript storefront for SAP Commerce Cloud that communicates exclusively through the Commerce REST API.
Switch branches/tags
249 302 355b 355 PoC-SSR SPA-1259-tobias-demo-summit bugfix/E2EC-1061 bugfix/E2EC-1076-apply-sandbox-css-to-find-store-feature bugfix/E2EC-1101 bugfix/E2EC-1172 bugfix/E2EC-1177 bugfix/E2EC-1232 bugfix/E2EC-1288 bugfix/SPA-1376 bugfix/SPA-1390 bugfix/SPA-1407 develop doc/GH-7 feature/E2EC-911 feature/GH-10 feature/GH-16 feature/GH-43 feature/GH-44 feature/GH-52 feature/GH-67 feature/GH-93 feature/GH-111 feature/GH-165 feature/GH-184-child-routes-example feature/GH-187-docs feature/GH-187 feature/GH-229 feature/GH-258 feature/GH-260 feature/GH-261 feature/GH-272-generic feature/GH-272 feature/GH-294 feature/GH-302b feature/GH-309 feature/GH-320 feature/GH-322 feature/GH-347 feature/GH-355b feature/GH-355c feature/GH-362 feature/GH-433 feature/GH-461 feature/GH-462 feature/GH-469 feature/GH-482 feature/GH-501 feature/GH-524 feature/GH-527 feature/GH-528 feature/GH-531 feature/GH-534 feature/GH-537 feature/GH-554 feature/GH-564 feature/GH-574 feature/GH-584 feature/GH-586 feature/GH-610 feature/GH-611 feature/GH-649 feature/GH-665 feature/GH-676 feature/SPA-128 feature/SPA-247 feature/SPA-249 feature/SPA-267 feature/SPA-301 feature/SPA-376 feature/SPA-388 feature/SPA-415 feature/SPA-420 feature/SPA-455 feature/SPA-464 feature/SPA-465 feature/SPA-565 feature/SPA-569 feature/SPA-585 feature/SPA-639 feature/SPA-672 feature/SPA-815 feature/SPA-820 feature/SPA-836 feature/SPA-855 feature/SPA-856 feature/SPA-858 feature/SPA-862 feature/SPA-878 feature/SPA-879 feature/SPA-881 feature/SPA-885 feature/SPA-895 feature/SPA-916 feature/SPA-939 feature/SPA-947 feature/SPA-964 feature/SPA-971 feature/SPA-979 feature/SPA-991 feature/SPA-999 feature/SPA-1005 feature/SPA-1006 feature/SPA-1046 feature/SPA-1050 feature/SPA-1063 feature/SPA-1086 feature/SPA-1093 feature/SPA-1094-old feature/SPA-1094 feature/SPA-1104 feature/SPA-1107 feature/SPA-1108 feature/SPA-1115 feature/SPA-1116 feature/SPA-1130 feature/SPA-1137 feature/SPA-1154 feature/SPA-1156 feature/SPA-1162 feature/SPA-1168 feature/SPA-1185 feature/SPA-1189 feature/SPA-1199 feature/SPA-1201 feature/SPA-1204 feature/SPA-1212 feature/SPA-1216 feature/SPA-1233 feature/SPA-1252 feature/SPA-1257 feature/SPA-1264 feature/SPA-1273 feature/SPA-1301 feature/SPA-1314 feature/SPA-1317 feature/SPA-1318 feature/SPA-1319 feature/SPA-1335 feature/SPA-1341 feature/SPA-1345 feature/SPA-1346 feature/SPA-1348 feature/SPA-1350 feature/SPA-1356 feature/SPA-1357 feature/SPA-1359 feature/SPA-1360 feature/SPA-1362 feature/SPA-1363 feature/SPA-1367 feature/SPA-1368 feature/SPA-1372 feature/SPA-1373 feature/SPA-1374 feature/SPA-1375 feature/SPA-1377 feature/SPA-1378 feature/SPA-1379-execute-search feature/SPA-1379 feature/SPA-1381 feature/SPA-1382 feature/SPA-1383 feature/SPA-1384 feature/SPA-1385 feature/SPA-1386 feature/SPA-1388 feature/SPA-1392 feature/SPA-1393 feature/SPA-1398 feature/SPA-1399 feature/SPA-1400 feature/SPA-1401 feature/SPA-1402 feature/SPA-1405 feature/SPA-1406 feature/SPA-1414 feature/fail feature/language-switch-e2e-tests feature/mock-server-config-installation feature/new-occ-lib feature/spa-1350-experimental feature/stash-diff feature/#10-home-page-slots feature/#43 feature/#47 feature/#58 feature/#60-currency-e2e feature/#140 feature/#152 feature/#155 feature/#158 feature/564-docs gh-pages hybris/feature/SPA-1400 master migrationtest shellappspec spa-38
Nothing to show
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode cleaned extensions.json Nov 22, 2018
ci-scripts GH-649 Need to output the current branch on CI (#650) Dec 12, 2018
docs docs: Updated node version in installation docs (#673) Dec 12, 2018
mock-server SPA-1348: Very tiny tweaks to the text. Oct 9, 2018
projects Feature/gh 524: Type safety second pass for Auth module (#670) Dec 13, 2018
.editorconfig SPA-434: Generated brand new Andular 6 app. May 11, 2018
.gitignore Adding config for sonarcloud scan Nov 6, 2018
.prettierignore feature/GH-367: add webApplicationInjector.js to .prettierignore Dec 3, 2018
.prettierrc GH-332: Updgrated prettier version and added html support Nov 23, 2018
.travis.yml Feature/GH-554 (#569) Dec 7, 2018
CONTRIBUTING.md doc: Top-to-bottom edit of Contributing.md (#481) Dec 7, 2018
ISSUE_TEMPLATE.md SPA-503 added issue template Oct 6, 2018
Jenkinsfile SPA-434: Move back relevant files in the root folder. May 11, 2018
LICENSE.txt SPA-1074 Adding license and notice Sep 21, 2018
NOTICE.txt SPA-1074 Adding license and notice Sep 21, 2018
README.md SPA-1390: Add alt text for better seo Oct 12, 2018
angular.json ci: updated ci config in angular.json Dec 13, 2018
build.sh fixed build.sh Nov 30, 2018
configure-shellapp.js SPA-1298: Fix for installation installation script blocker. Oct 1, 2018
configure-shellapp.json SPA-1110: Add storefrontstyles as dependency to shellapp Sep 19, 2018
deploy-shellapp.sh Bumping version to v0.0.1-1 manually Jun 6, 2018
generate-shellapp.sh SPA-1363 removing shellapp readme Oct 9, 2018
package.json release/1812-07 (#583) Dec 11, 2018
release-styles.sh Updating release scripts Feature/spa 1335 (#41) Oct 30, 2018
release.sh Release/1811-23 (#423) Nov 27, 2018
sonar-project.properties GH-165 Adding extra sonar configs Nov 7, 2018
spartacus_demo.md SPA-503 demo info Oct 10, 2018
tsconfig.json GH-300: Review fixes Nov 29, 2018
tslint.json SPA-1261: Fixed lint warnings in auth folder Oct 2, 2018
yarn.lock release/1812-07 (#583) Dec 11, 2018

README.md

JavaScript storefront (spartacus)

What is Spartacus?

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

Extendable

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.

We’re making great progress and are planning our first beta in Q1 2019 and a launch date in Q2 2019. In the meantime, in order to ensure that the first release is as extendable and upgradable as we'd like, breaking changes will very likely be introduced. Please keep that in mind if you decide to start a project using the Spartacus storefront, prior to the first release.

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 our contributing documentation 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

  • SAP Commerce Cloud instance (Release 1808)
  • Angular CLI (https://angular.io/): >= 6.2.4 and < 7.0.0
  • node.js >= 8.9.0
  • yarn >= 1.6.0

Download and Installation

To get up and running with Spartacus, the simplest approach is to build the application from ready-made libraries. You can also clone and build from source.

Spartacus currently can only be used with a SAP Commerce Cloud instance through Commerce APIs. In the future, you will be able to use Spartacus with a mock server.

For complete setup instructions, see the Setup and Installation 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.

Spartacus comes with an application shell (storefrontapp) that contains core resources that are needed to load the rest of the web app. These core resources are provided through libraries, such as the storefrontlib and storefrontstylelib. You then build new feature libraries that contain any custom functionality and pages. It is recommended to keep the shell app as a container for libraries and to avoid developing features directly in the shell app.

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 will be released soon.

Limitations

Spartacus works with Release 1808 of SAP Commerce Cloud, with some limitations. See the Setup and Installation guide for more information.

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

Spartacus is provided "as-is" with no official lines of support.

To get help from the Spartacus community:

Contributing

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

  • Post comments to our Feedback chat in our Slack channel.
  • Read the Contributing document and learn how to:
    • Help others
    • Report an issue
    • Contribute code to Spartacus

To Do

Many changes are coming! Most tasks will be posted to our GitHub issue tracking system, and this section will be updated with the major roadmap items.

Some of the upcoming features or changes to the open source release:

  • Mock server
  • Personal information pages (My Account, Payment Management, Address Management)
  • Extensibility examples
  • Style customization examples
  • Performance improvements through App Shell Caching
  • Completion of test coverage, including end-to-end tests

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) 2018 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.