Developer getting started guide
  • 11 Jan 2021
  • 4 Minutes To Read
  • Print
  • Share
  • Dark

Developer getting started guide

  • Print
  • Share
  • Dark

Welcome to the Spryker Commerce OS getting started guide.

We structured this page to be a step-by-step checklist that you will be able to follow through all the stages of working with Spryker.

Step 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 add separate features and modules to the both Demo Shops to expand their functionality.

Spryker in 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 production implementation.

To start developing your Spryker in Docker, see Getting Started with Docker.

Using the Development Virtual Machine

Spryker Commerce OS comes with a Virtual Machine that has all pre-requisites required to run Spryker. Also, it provides a full-featured development environment that will help you in customizing Spryker to your project needs. The Development VM, or 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 B2C Shop
DevVM on Linux / Mac OS B2B Demo Shop Installation: Mac OS or Linux, with Development Virtual Machine B2C Demo Shop Installation: Mac OS or Linux, with Development Virtual Machine
DevVM on Windows B2B Demo Shop Installation: Windows, with Development Virtual Machine B2C Demo Shop Installation: Windows, with Development Virtual Machine

Independent Installation, Without the Development Virtual Machine

Alternatively, you can install Spryker on an operating system that fulfills Spryker System Requirements without the use of the virtual machine or docker images.

Chose an Installation Guide that suites your needs best:

B2B Shop B2C Shop
B2B Demo Shop Installation: Without Development Virtual Machine B2C Demo Shop Installation: Without Development Virtual Machine
After installing, make sure to have a look at Post-Installation Steps and Additional Info for tips on fine-tuning Spryker.

Step 2: Manage your Modules

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

See Spryker Release Process to learn about our module and feature release process, and to define your strategy as to taking the Spryker updates.

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

  • To install dependencies that 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 composer-versions-check as add-on 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 used in Spryker.

Step 3: Configure the Environment

Your next step will be the configuration of the Spryker Commerce OS installation and its customization for your environment. As part of this process, do the following:

  1. Define how to manage and configure the settings in the configuration files. See Configuration Management for details on how to do that.
  2. Configure your environment:
  3. Congiure stores to have one or multiple stores in your online shop.
  4. Schedule tasks (Cron jobs).

Step 4: Debugging

Before taking the next step into working with the code, set up and get to know your debugging environment. See Debugging Setup for the step-by-step instructions on how to set up and configure debugging in your development environment.

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

Step 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:

  • Conceptual Overview: to learn about the Spryker application layers and code structure.
  • Modules and layers: to deep dive into the details of the application layers and learn how various functionality is encapsulated in modules.
  • Programming Concepts: to learn more about the Spryker building blocks contained in the application layers.
  • Technology Stack: to learn about the technologies we use.

Where to go from here?

Select one of the topics below depending on what you want to do next:

Was This Article Helpful?