I have worked with Shopware for more than ten years, starting with version 4. It began with my first
extension in the store, a free choice of image or colour for the shop background. Then came themes,
looking after smaller shops, and eventually the whole stack: deployments, plugins that reach deep
into the system, awkward migrations. My plugins run in more than 8,000 shops today, rated 4.8 out
of 5. Below is a look at individual projects.
Agency work
Contract development for Shopware agencies.
Plugin development for client projects
Features that did not exist in the store, or that were too specific for a standard plugin.
- Two-factor login for Shopware storefronts, with custom logic for the different login
states and their handling in the administration.
- A configurator that guides customers through complex, interdependent variant structures
with visual options to the right product.
- Extended wishlist: several lists per customer, with stock display and notifications.
Migrations from Shopware 5 to Shopware 6
More than 20 migration projects since Shopware 6 was released. The effort rarely sits in the
shop system, it sits in the data: records from plugins and from custom code grown over
years had to be moved into the data structures of their successors. On top of that come
inconsistencies nobody had ever noticed. I cleaned those up and carried them over
properly.
Interfaces to third-party systems
Connecting an ERP system through JSON files to keep the product catalogue up to date, plus
several CSV imports for recurring data transfers.
Integrations
Bringing SaaS products to Shopware: development, publication in the store, maintenance
across Shopware releases.
Zakeke
Zakeke is a SaaS product configurator built for e-commerce. The challenge was to drive
the software entirely through API and iframe, and to do so not only as a plugin but also
as an app based on Symfony. The app is listed in the
Shopware Store (opens in a new tab). Zakeke brought the configurator, I brought the Shopware side. Since then I have extended the
integration and kept it working across Shopware releases. Features are still being added,
among them complex price calculation and AI functionality.
My own extensions
A selection of my extensions in the
Shopware Store.
Sorting the order of products within a category
Products in a category are sorted by fixed rules, but shop operators want to pull individual
items to the front. The extension makes the display order manually controllable through
priority values. The interesting part was extending the DAL with custom joins so that
large data sets can still be queried efficiently.
View in the Shopware Store (opens in a new tab)
Showing the shop only after login and approval
A B2B channel should stay invisible to the public. The entire shop is locked, access only
after registration and manual approval by the operator. The hard part was defining
exactly what gets locked and how caching deals with it.
View in the Shopware Store (opens in a new tab)
Overview of sent emails
Shopware sends automated emails, but nobody can look up what actually went out. I built the
feature as an app: Symfony in the backend, a Vuetify frontend with search, filters and
sorting across the sent emails.
View in the Shopware Store (opens in a new tab)