Skip to content

NiklasBr/CoreShop

 
 

Repository files navigation

CoreShop


CoreShop - Pimcore eCommerce

Static Tests (Lint, Stan) Behat UI Tests Behat Tests Software License Latest Pre-Release

CoreShop is a eCommerce Platform for Pimcore.

CoreShop Interface

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-4/coreshop4___behat PIMCORE_INSTALL_ADMIN_USERNAME=admin PIMCORE_INSTALL_ADMIN_PASSWORD=admin PIMCORE_INSTALL_MYSQL_HOST_SOCKET=coreshop-4 PIMCORE_INSTALL_MYSQL_USERNAME=root PIMCORE_INSTALL_MYSQL_PASSWORD=ROOT PIMCORE_INSTALL_MYSQL_DATABASE=coreshop4___behat PIMCORE_INSTALL_MYSQL_PORT=3306 PIMCORE_KERNEL_CLASS=Kernel vendor/bin/pimcore-install --env=test --skip-database-config -n
APP_ENV=test PIMCORE_CLASS_DIRECTORY=var/tmp/behat/var/classes PIMCORE_TEST_DB_DSN=mysql://root:ROOT@coreshop-4/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

CoreShop Interface CoreShop Interface

About

CoreShop - Pimcore eCommerce

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 68.4%
  • JavaScript 15.8%
  • CSS 6.8%
  • Gherkin 6.1%
  • Twig 2.7%
  • Shell 0.2%