Store Creator
Last updated
Was this helpful?
Last updated
Was this helpful?
Note: This feature is currently a proof of concept and will evolve over time. We appreciate any feedback you may have.
With Store Creator, you can quickly assemble a fine-tuned Sylius store without tedious manual steps. Imagine you need a store that sells office furniture, complete with a CMS, refund functionality, and invoicing. Normally, you would have to:
Create a new Sylius-Standard project
Install each plugin one by one
Prepare and load fixtures (e.g., products, images)
Adjust the visual style of the storefront
Our goal is to deliver a comprehensive web application (see “Future Plans” below) where you:
Select the plugins you need
Use AI assistance to craft custom fixtures and tweak the layout
Choose your preferred deployment target
To have better understanding take a loot at the architecture of tooling we proposed:
DemoCreator is currently under development. However, you can try it out using the prepared Store configuration available in the Store Presets Repository.
A store preset defines everything you need to bootstrap a finely tuned Sylius store.
store-preset.json
: a JSON configuration file that lists
The store’s internal name
Which plugins to install
Theme variables (colors, logos)
Which fixtures to load
fixtures
: a directory containing your YAML fixture definitions and any images you need to import (e.g., product photos)
themes
: a folder with your custom theme assets (e.g., logo images)
The directory structure for a single store preset might look like this:
Create Sylius-Standard project:
Add Store Assembler package:
Copy your store-preset directory into the root of the project. For example, if your preset is called car_parts, you should have the following structure:
Run the following command:
Clone DemoCreator and install its dependencies:
Configure Platform.sh credentials
Create a platform.sh
project and environment (e.g., “booster-<random>”).
In your .env.local
(inside demo-creator
), set:
Prepare a Store Preset
Place your store preset directory under store-templates/template-name
inside the DemoCreator project. For example:
Call the DemoCreator API to create a new store
Send a POST
request to the /create-demo
endpoint (you can use curl
or Postman). For example:
environment
: the name of the Platform.sh environment you want to update (e.g., booster
).
store
: the name of your preset (must match the folder under store-templates/
).
Internally, DemoCreator will:
Clone the Sylius-Standard “booster” branch into a fresh folder
Copy your store-templates/jutrzenka
folder into sylius/jutrzenka/store-preset/
Commit those files and push to the specified Platform.sh environment
Trigger Platform.sh build hooks (which run the same console commands as above: plugin install, fixture import, theme prepare, etc.)
Wait for the Platform.sh build to finish
Once the build completes, your environment’s URL (e.g., https://booster-<project>.platform.sh
) will serve the newly created store with all plugins, fixtures, and themes applied.
We plan to evolve DemoCreator into a full-fledged “wizard” application. Imagine a guided interface where you can:
Select Plugins: Easily browse and choose from a catalog of Sylius plugins, toggling features on or off with a click.
AI-Powered Fixture Designer: Use GPT behind the scenes to generate YAML fixtures (products, categories, pages) based on simple prompts—no manual editing required.
Live Theme Preview: Adjust colors, logos, and CSS variables in real time and immediately see how your store’s design will look in a built‐in preview window.
Together, these features will let you configure plugins, craft sample data, and tweak the storefront’s appearance—all within a single intuitive wizard interface.
Your feedback is invaluable as we continue refining DemoCreator. If you encounter any issues or have suggestions:
Slack Community Join our Slack workspace first—share your thoughts, ask questions, and discuss ideas with the team and other users in real time.
GitHub Repository If you prefer, you can also submit feature requests or bug reports by opening an issue on the DemoCreator repository.
We appreciate your input and look forward to making DemoCreator better together!