shopwell / platform
The Shopwell e-commerce core
Requires
- php: ~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0
- composer-runtime-api: ^2.1
- ext-ctype: *
- ext-curl: *
- ext-dom: *
- ext-fileinfo: *
- ext-filter: *
- ext-gd: *
- ext-intl: *
- ext-json: *
- ext-libxml: *
- ext-mbstring: *
- ext-openssl: *
- ext-pdo: *
- ext-pdo_mysql: *
- ext-session: *
- ext-simplexml: *
- ext-sodium: *
- ext-xml: *
- ext-xmlreader: *
- ext-zip: *
- ext-zlib: *
- async-aws/core: ^1.22
- cocur/slugify: ^4.7.0
- composer/class-map-generator: ^1.7
- composer/composer: ^2.9.3
- composer/semver: ^3.4.0
- doctrine/dbal: ~4.4.0
- doctrine/inflector: ^2.0
- dompdf/dompdf: ~3.1.6
- dragonmantank/cron-expression: ^3.3
- ezyang/htmlpurifier: ^4.16
- guzzlehttp/guzzle: ^7.5.0
- guzzlehttp/promises: ^2.5
- guzzlehttp/psr7: ^2.4
- horstoeko/zugferd: ^1.0.104
- lcobucci/jwt: ^5.5
- league/flysystem: ^3.13.0
- league/flysystem-local: ^3.29.0
- league/flysystem-memory: ^3.10.3
- league/mime-type-detection: ^1.13.0
- league/oauth2-server: ^9.3
- mcp/sdk: ^0.8.1
- meyfa/php-svg: ^0.16.1
- monolog/monolog: ^3.3.1
- nikic/php-parser: ^5.8.0
- nyholm/psr7: ^1.5
- opensearch-project/opensearch-php: ^2.6.0
- pentatrion/vite-bundle: ^8.1
- php-http/discovery: ^1.20
- phpseclib/phpseclib: ^3.0
- psr/cache: ^3.0.0
- psr/clock: ^1.0.0
- psr/container: ^2.0.2
- psr/event-dispatcher: ^1.0.0
- psr/http-client: ^1.0.3
- psr/http-factory: ^1.0.1
- psr/http-message: ^1.1 || ^2.0
- psr/http-server-middleware: ^1.0
- psr/log: ^3.0.0
- psr/simple-cache: ^3.0.0
- ramsey/uuid: ^4.7
- scssphp/scssphp: v1.12.0
- setasign/fpdi: ^2.3.7
- setasign/tfpdf: ^1.33
- shopwell/conflicts: 0.6.3
- shyim/opensearch-php-dsl: ^1.1.4
- squirrelphp/twig-php-syntax: ^1.13.0
- symfony/asset: ~7.4.0
- symfony/cache: ~7.4.12
- symfony/cache-contracts: ~3.6.0
- symfony/clock: ~7.4.0
- symfony/config: ~7.4.0
- symfony/console: ~7.4.0
- symfony/debug-bundle: ~7.4.0
- symfony/dependency-injection: ~7.4.0
- symfony/deprecation-contracts: ~3.6.0
- symfony/doctrine-messenger: ~7.4.0
- symfony/dotenv: ~7.4.0
- symfony/error-handler: ~7.4.0
- symfony/event-dispatcher: ~7.4.0
- symfony/event-dispatcher-contracts: ~3.6.0
- symfony/filesystem: ~7.4.0
- symfony/finder: ~7.4.0
- symfony/framework-bundle: ~7.4.0
- symfony/http-client: ~7.4.0
- symfony/http-client-contracts: ~3.6.0
- symfony/http-foundation: ~7.4.0
- symfony/http-kernel: ~7.4.12
- symfony/intl: ~7.4.0
- symfony/lock: ~7.4.0
- symfony/mailer: ~7.4.12
- symfony/mcp-bundle: ~0.13.0
- symfony/messenger: ~7.4.12
- symfony/mime: ~7.4.12
- symfony/monolog-bridge: ~7.4.12
- symfony/monolog-bundle: ~3.11.0
- symfony/options-resolver: ~7.4.0
- symfony/password-hasher: ~7.4.0
- symfony/polyfill-mbstring: >=1.34.0
- symfony/polyfill-php83: >=1.34.0
- symfony/polyfill-php84: >=1.34.0
- symfony/polyfill-php85: >=1.34.0
- symfony/polyfill-php86: >=1.34.0
- symfony/process: ~7.4.0
- symfony/property-access: ~7.4.0
- symfony/property-info: ~7.4.0
- symfony/proxy-manager-bridge: ~6.4.8
- symfony/psr-http-message-bridge: ~7.4.0
- symfony/rate-limiter: ~7.4.0
- symfony/routing: ~7.4.12
- symfony/runtime: ~7.4.12
- symfony/scheduler: ~7.4.0
- symfony/security-core: ~7.4.12
- symfony/serializer: ~7.4.0
- symfony/service-contracts: ~3.6.0
- symfony/stopwatch: ~7.4.0
- symfony/string: ~7.4.0
- symfony/translation: ~7.4.0
- symfony/translation-contracts: ~3.6.0
- symfony/twig-bridge: ~7.4.12
- symfony/twig-bundle: ~7.4.0
- symfony/uid: ~7.4.9
- symfony/ux-twig-component: ~2.35.0
- symfony/validator: ~7.4.0
- symfony/var-exporter: ~7.4.0
- symfony/yaml: ~7.4.12
- twig/intl-extra: ^3.26.0
- twig/string-extra: ^3.24.0
- twig/twig: ^3.29.0
- zircote/swagger-php: ^6.4
Requires (Dev)
- ext-tokenizer: *
- ext-xmlwriter: *
- bamarni/composer-bin-plugin: ^1.8.2
- doctrine/sql-formatter: ^1.5.4
- dominikb/composer-license-checker: ^2.5
- ergebnis/phpunit-slow-test-detector: ^2.4
- friendsofphp/php-cs-fixer: 3.95.15
- league/flysystem-async-aws-s3: ^3.29.0
- league/flysystem-google-cloud-storage: ^3.10.3
- opis/json-schema: ^2.3.0
- phpat/phpat: 0.12.4
- phpbench/phpbench: ^1.6.1
- phpdocumentor/reflection-docblock: ^5.6.4
- phpdocumentor/type-resolver: ^1.7.1
- phpstan/extension-installer: ^1.4.3
- phpstan/phpdoc-parser: ^2.0.0
- phpstan/phpstan: 2.2.13
- phpstan/phpstan-deprecation-rules: 2.0.5
- phpstan/phpstan-phpunit: 2.0.18
- phpstan/phpstan-strict-rules: 2.0.12
- phpstan/phpstan-symfony: 2.0.20
- phpunit/phpunit: ^11.5.19
- predis/predis: ^2.2
- rector/type-perfect: 2.2.0
- shipmonk/composer-dependency-analyser: ^1.8
- shopwell/dev-tools: ^1.3
- shopwelllabs/phpstan-shopwell: 0.2.4
- smalot/pdfparser: ^2.2.2
- symfony/browser-kit: ~7.4.0
- symfony/doctrine-bridge: ~7.4.14
- symfony/dom-crawler: ~7.4.12
- symfony/phpunit-bridge: ~7.4.0
- symfony/var-dumper: ~7.4.0
- symfony/web-profiler-bundle: ~7.4.12
- symplify/phpstan-rules: 14.10.0
Suggests
- league/flysystem-async-aws-s3: Required to use the Flysystem S3 driver (^3.10.3)
- league/flysystem-google-cloud-storage: Required to use the Flysystem Google cloud driver (^3.10.3)
- shopwell/dev-tools: For development tools, profiler, faker, etc
Provides
None
Conflicts
None
Replaces
- shopwell/administration: dev-trunk
- shopwell/core: dev-trunk
- shopwell/elasticsearch: dev-trunk
- shopwell/storefront: dev-trunk
This package is auto-updated.
Last update: 2026-09-26 05:50:21 UTC
README
Shopwell
Modern open source e-Commerce
Shopwell 6 is an open headless commerce platform powered by Symfony 7 and Vue.js 3 that is used by thousands of shops and supported by a huge, worldwide community of developers, agencies, and merchants.
If you like Shopwell 6, give us a ⭐️ on GitHub!
- 🙋♂️ Be part of shopwell! We are hiring! 🙋
- 🌎 Discover our website
- 🧩 Browse more than 3,100 extensions in our community store
- 📖 Learn how to develop extensions and everything else about the tech behind Shopwell via our developer docs.
- 🉐 Translate Shopwell or help by contributing to existing languages
- 🛠 Report bugs in our issue tracker
- 💡 Give us feedback or vote existing ideas
- 👪 Exchange with other Shopwell developers in our own Community Hub or the Discord community
- 🗨 Help and get helped on Stack Overflow or in our Community forum
Table of contents
- Table of contents
- Project overview
- Installation
- The Shopwell CLA
- Authors & Contributors
- License
- Bugs & Feedback
- Reporting security issues
- Extending Shopwell
Project overview
To discover the features of Shopwell and what sets us apart from other ecommerce systems, take the feature tour on the Shopwell home page.
From a developer's perspective, here are some highlights that make Shopwell easy and fun to work with:
Platform and Framework
Shopwell is primarily based on Symfony and Vue.js. It is a fully functional ecommerce platform, but it also serves as an ecommerce framework.
Shopwell is:
- a ready-to-use shopping cart system.
- a vendor dependency in your flex project.
- API-first.
- extensible through plugins:
- Harness the full power of Symfony by creating bundles and loading them as part of the application.
- extensible through apps:
- A modern, lightweight but powerful way to add functionality, requiring very little Shopwell-specific knowledge.
- headless if you need it to be.
Installation
Production setup
The easiest way to run a Shopwell shop is by booking a commercial plan in the Shopwell cloud, a fully managed setup, ready to use.
The recommended way for on-premise shops is to install Shopwell through the flex template.
To unlock the full potential Shopwell has to offer, commercial plans are also available for on-premise.
These plans enrich your shop with unique functionality, giving you an additional advantage over your competition.
There is a list of hosting partners, who offer a pre-installed shop, making your start a lot faster.
We also provide a web-based installer, installation instructions on docs, and the course walks you through the necessary steps.
Code Contribution
If you have decided to contribute code to Shopwell and become a member of the Shopwell community, We appreciate your hard work and want to handle it with much respect. To ensure the quality of our code and our products, we have created a guideline that we all should endorse. It helps us collaborate with you. Following these guidelines will help us integrate your changes into our daily workflow effectively.
Read more in our contribution guideline on how to contribute code.
Contribution setup
For Contributing setup see CONTRIBUTING.md. If you want to run Shopwell locally for extension/theme/project development, check out the development environment setup.
The Shopwell CLA
When submitting your code to Shopwell, you are required to sign our CLA (Contributor License Agreement) automatically. This CLA ensures that Shopwell will stay an open and living product. In short, you give the explicit right to use your code in Shopwell to Shopwell.
Authors & Contributors
Shopwell is built with the help of our community.
You can find an overview of everyone who contributed to the platform repository in the official GitHub overview. Additionally, numerous people contribute to the ecosystem through activities unrelated to the codebase. Thank you all for being part of this!
License
Shopwell 6 is completely free and released under the MIT License.
Bugs & Feedback
No software is perfect, and Shopwell is no exception. Should you spot a bug, please report it in our issue tracker.
If you want to suggest features or how certain parts of Shopwell 6 work, we'd be happy to hear from you.
Reporting security issues
Please review our security policy.
Extending Shopwell
There are already a lot of extensions available in the Shopwell store.
After setting up Shopwell locally for development, you can start with our extension guides in the documentation.
The preferred way of extending Shopwell is through the App System.
If the feature you want to implement needs direct access to the Shopwell process and the database, you can also use the plugin system.
You can find an overview and differentiation in the documentation.
Privacy
Find out more about privacy and data protection.