CoreShop

CoreShop - Pimcore eCommerce

Stars
257
Forks
147
Open issues
63
Closed issues
816
Last release
6 months ago
Last commit
5 months ago
Watchers
257
Total releases
94
Total commits
8.87K
Open PRs
5
Closed PRs
1.42K
Repo URL
Platform
License
other
Category
Usecase
Offers premium version?
NO
Proprietary?
NO
About

CoreShop - Pimcore eCommerce

CoreShop is a eCommerce Platform for Pimcore.

Requirements

  • Pimcore ^11.1

Installation

  • Allow dev version to be installed:
    composer config "minimum-stability" "dev"
    composer config "prefer-stable" "true"
    
  • Install with composer
    composer require coreshop/core-shop:^4.0
    
  • Enable the bundle in config/bundles.php
    <?php
    
    return [
       ...
        \CoreShop\Bundle\CoreBundle\CoreShopCoreBundle::class => ['all' => true],
    ];
    
  • Update config/packages/security.yaml to allow access to the CoreShop Backend.
    • Add the CoreShop Frontend parameter:
      parameters:
          coreshop.security.frontend_regex: "^/(?!admin)[^/]*
      
    • Add the Authentication Provider:
       providers:
         coreshop_user:
             id: CoreShop\Bundle\CoreBundle\Security\ObjectUserProvider
      
    • Add the Firewall Config:
       firewalls:
         coreshop_frontend:
             provider: coreshop_user
             pattern: '%coreshop.security.frontend_regex%'
             context: shop
             form_login:
                 login_path: coreshop_login
                 check_path: coreshop_login_check
                 provider: coreshop_user
                 failure_path: coreshop_login
                 default_target_path: coreshop_index
                 use_forward: false
                 use_referer: true
             remember_me:
                 secret: "%secret%"
                 name: APP_CORESHOP_REMEMBER_ME
                 lifetime: 31536000
                 remember_me_parameter: _remember_me
             logout:
                 path: coreshop_logout
                 target: coreshop_login
                 invalidate_session: false
      
    • Add the Access Control:
       access_control:
         - { path: "%coreshop.security.frontend_regex%/_partial", role: IS_AUTHENTICATED_ANONYMOUSLY, ips: [127.0.0.1, ::1] }
         - { path: "%coreshop.security.frontend_regex%/_partial", role: ROLE_NO_ACCESS }
      

  • Run Install Command
    php bin/console coreshop:install
    
  • Optional: Install Demo Data
    php bin/console coreshop:install:demo
    
Messenger

CoreShop also uses Symfony Messenger for async tasks like sending E-Mails or Processing DataObjects for the Index. Please run these 2 transports to process the data

bin/console messenger:consume coreshop_notification coreshop_index --time-limit=300
Further Information

Demo

You can see a running demo here CoreShop 3.x Demo

Backend Credentials

Admin: https://demo3.coreshop.org/admin

Username: admin Password: coreshop

Running Tests Locally Psalm
vendor/bin/psalm
PHPStan
SYMFONY_ENV=test vendor/bin/phpstan analyse -c phpstan.neon src -l 3 --memory-limit=-1
BEHAT Domain
CORESHOP_SKIP_DB_SETUP=1 PIMCORE_TEST_DB_DSN=mysql://root:ROOT@coreshop-4/coreshop4___behat vendor/bin/behat -c behat.yml.dist -p default
BEHAT UI
vendor/bin/bdi detect drivers

Install Pimcore and CoreShop in Test Env

APP_ENV=test PIMCORE_TEST_DB_DSN=mysql://root:ROOT@coreshop-next/coreshop4_behat PIMCORE_INSTALL_ADMIN_USERNAME=admin PIMCORE_INSTALL_ADMIN_PASSWORD=admin PIMCORE_INSTALL_MYSQL_HOST_SOCKET=coreshop-next PIMCORE_INSTALL_MYSQL_USERNAME=root PIMCORE_INSTALL_MYSQL_PASSWORD=ROOT PIMCORE_INSTALL_MYSQL_DATABASE=coreshop4behat PIMCORE_INSTALL_MYSQL_PORT=3306 PIMCORE_KERNEL_CLASS=Kernel vendor/bin/pimcore-install --env=test --skip-database-config APP_ENV=test PIMCORE_CLASS_DIRECTORY=var/tmp/behat/var/classes PIMCORE_TEST_DB_DSN=mysql://root:ROOT@coreshop-next/coreshop4__behat bin/console coreshop:install

OUTSIDE CONTAINER

Run Symfony Server

APP_ENV=test PIMCORE_TEST_DB_DSN=mysql://root:ROOT@127.0.0.1:3306/coreshop4___behat symfony server:start --port=9080 --dir=public --no-tls

Run Behat

CORESHOP_SKIP_DB_SETUP=1 PANTHER_EXTERNAL_BASE_URI=http://127.0.0.1:9080/index_test.php PANTHER_NO_HEADLESS=0 PIMCORE_TEST_DB_DSN=mysql://root:ROOT@127.0.0.1:3306/coreshop4___behat php -d memory_limit=-1 vendor/bin/behat -c behat.yml.dist -p ui -vvv

Copyright and license

Copyright: CoreShop GmbH For licensing details please visit LICENSE.md

Screenshots

Alternative Projects
No projects found

Subscribe to Open Source Businees Newsletter

Twice a month we will interview people behind open source businesses. We will talk about how they are building a business on top of open source projects.

We'll never share your email with anyone else.