Developer Getting Started Guide
- Updated on 06 Mar 2020
- 5 minutes to read
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|
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.jsonfile of the project:
- 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:
- Define how to manage and configure the settings in the configuration files. See Configuration Management for details on how to do that.
- Configure your environment:
- Congiure stores to have one or multiple stores in your online shop.
- 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.
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:
- Commerce OS and Frontend Apps: to find out how data flows are separated in Spryker Commerce OS.
- Conceptual Overview: to learn about the Spryker application layers and code structure.
- Modularity and Shop Suite: 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:
- About Spryker: general information about Spryker, news, and release notes.
- Features: general information about the Spryker features.
- Glue REST API: Spryker Glue REST API overview, reference, and features.
- User Guides: step-by-step Backoffice and Storefront user guides.
- Developer Guides: technical information and guides for developers.
- Technology Partners: Spryker technology partners information and integration guides.
- Migration and Integration Guides: instructions on how to migrate to newer versions of modules or features.
- Tutorials: tutorials and HowTos.