Developer getting started guide

Edit on GitHub

Welcome to the Spryker Commerce OS getting started guide.

We structured this page as a step-by-step checklist for you to follow through all the stages of working with Spryker.

1. Install Spryker

Typical Spryker installation process includes installing a proper starting point for your project. The best option to start projects is to use Demo Shops. A Demo Shop is a set of Spryker Commerce OS components selected for a specific type of business and project. They are fully functional and can be used both for demonstration purposes and as a boilerplate for your project. Even if a shop does not provide all the capabilities you need, you can install the necessary components later.

You can choose from the following options:

  • B2B Demo Shop - a boilerplate for B2B commerce projects.
  • B2C Demo Shop - a starting point for B2C implementations.
  • Separate Features and modules - you can also expand both Demo Shops with separate features and modules.

Installing Spryker with Docker

We recommend starting with a Docker SDK environment. This option includes Docker and related tools to build images and run containers that match your requirements.

It features a lightweight environment that is closer to a production implementation.

To start developing your Spryker in Docker, see Installing Spryker with Docker.

Installing Spryker with Development Virtual Machine

Spryker Commerce OS comes with a Virtual Machine that has all the prerequisites to run Spryker. It provides a full-featured development environment that will help you customize Spryker per your project requirements. The Development Virtual Machine (DevVM) is based on VirtualBox and Vagrant, and can be used to install Spryker on any Operating System.

Choose an installation guide that suits your needs best:

Operating system B2B Shop or B2C Shop
DevVM on Linux / Mac OS B2B or B2C Demo Shop installation: Mac OS or Linux, with Development Virtual Machine
DevVM on Windows B2B or B2C Demo Shop installation: Windows, with Development Virtual Machine

Independent Installation

Alternatively, you can install Spryker on an operating system that fulfills Spryker System requirements without the virtual machine or Docker images. See B2B or B2C Demo Shop installation: without Development Virtual Machine for details.

After installing, make sure to have a look at Post-Installation steps and additional info for tips on fine-tuning Spryker.

2. Manage your modules

Once you have completed the installation, you can start managing modules. A module is a single functional unit, that has well-defined dependencies, and can be used and updated independently.

To define your strategy of taking Spryker updates, learn about our module and feature release process.

We use Composer to install and manage module dependencies. Run the following Composer commands depending on what you want to do:

  • To install the dependencies you listed in the composer.json file of the project: composer install.
  • To update all the modules for your project: composer update "spryker/*".

We recommend running this command weekly to assert you have the latest fixes. We also recommend subscribing to our release notes newsletter to stay up-to-date with the improvements.

  • To update a particular module: composer update "spryker/module-name". You can easily keep track of new module versions using the composer-versions-check addon for your local Composer tool.
  • To add a new module to your project: composer require "spryker/module-name"

See Semantic Versioning: Major vs. Minor vs. Patch Release to learn about the module versioning approach in Spryker.

3. Configure the environment

To configure and customize your Spryker Commerce OS, do the following:

  1. To define how to manage and configure the settings in configuration files, see Configuration management.
  2. Configure your environment:
  3. Configure stores to have one or multiple stores in your online shop.
  4. Schedule tasks (Cron jobs).

4. Debugging

Before you start developing, set up and get to know your debugging environment. To learn how to configure debugging, see one of the following:

In a production setup, Zed must be covered with a VPN, Basic Auth or IP whitelisting.

5. Familiarize yourself with the Spryker architecture

As a developer, the Spryker structure is the first thing you need to know to extend the core functionality. To familiarize yourself with the Spryker architecture, different parts of the Client, Shared, Zed and Yves folders and their different layers, see the following articles: