A loyalty program for Sylius 1.14. The plugin is built around an append-only points ledger (points are a financial liability, so balances are derived from the ledger and never hand-edited) and is delivered in three phases: points core + rule engine, tiers, and referrals. It integrates natively with Sylius — ResourceBundle CRUD, GridBundle admin listings, the adjustment system for redemption, state-machine callbacks, and shop template events — and is channel-aware (one loyalty account per customer per channel).
Status: under active development; no release is tagged yet. Detailed installation instructions (order entity extension, schema diffing, cron commands) are added as the relevant features land.
-
Run
composer create-project --prefer-source --no-install --remove-vcs setono/sylius-loyalty-plugin:dev-master ProjectName
or just click the
Use this templatebutton at the right corner of this repository. -
Run
cd ProjectName && composer install
-
From the plugin skeleton root directory, run the following commands:
php init (cd tests/Application && yarn install) (cd tests/Application && yarn build) (cd tests/Application && bin/console assets:install) (cd tests/Application && bin/console doctrine:database:create) (cd tests/Application && bin/console doctrine:schema:create) (cd tests/Application && bin/console sylius:fixtures:load -n)
-
Start your local PHP server:
symfony serve(see https://symfony.com/doc/current/setup/symfony_server.html for docs)
To be able to set up a plugin's database, remember to configure you database credentials in tests/Application/.env and tests/Application/.env.test.