- Can I use this bundle in a Laravel project, or is it strictly Symfony-only?
- This bundle is **Symfony-specific** and won’t work in Laravel. It relies on Symfony’s dependency injection, Doctrine ORM, and EasyAdmin’s admin panel. If you’re using Laravel, consider alternatives like Laravel Shop or custom Sylius integration via API.
- What Laravel alternatives exist for Sylius-based e-commerce without Symfony?
- For Laravel, explore **Laravel Shop** (a Sylius-inspired package) or **Bagisto** (Laravel-based). If you need Sylius’s full power, use its **API-first approach** with Laravel as a frontend client, but this bundle won’t bridge the gap directly.
- How do I install this bundle without breaking my existing Symfony/EasyAdmin setup?
- Run `composer require agence-adeliom/easy-shop-bundle` first, then execute `bin/console sylius:install:check-requirements` to validate compatibility. Backup your `security.yaml` and database before proceeding, as Sylius introduces new Doctrine entities and security configurations.
- Does this bundle support Symfony 6.x or only older versions?
- The bundle works with **Symfony 4.4+, 5.2+, and 6.0**, but test thoroughly in your environment. Check the [Sylius compatibility matrix](https://docs.sylius.com/en/latest/contributing/upgrading/) for version-specific quirks, as Sylius v1.10 (the base) may have edge cases.
- Will this bundle conflict with my existing Doctrine entities or database schema?
- Yes—Sylius introduces its own `Order`, `Product`, and `Customer` entities. Run `bin/console doctrine:schema:validate` after installation to check for conflicts. If you have legacy schemas, consider a **database migration strategy** or prefix Sylius tables.
- How do I customize the admin panel beyond EasyAdmin’s defaults?
- EasyAdmin allows CRUD customization via YAML/PHP configurations, but deep changes (e.g., theming) may require overriding Sylius templates. For advanced UI tweaks, extend Sylius’s Twig templates or use EasyAdmin’s `crud` configuration to modify fields/layouts.
- Is the JWT authentication secure enough for production, or should I add extra layers?
- The bundle uses **LexikJWTAuthenticationBundle**, which is production-ready, but audit your `security.yaml` for misconfigurations (e.g., weak password paths). Add rate limiting (e.g., via `nelmio_cors`) and HTTPS enforcement for APIs.
- What’s the upgrade path if Sylius or EasyAdmin releases breaking changes?
- Monitor [Sylius’s upgrade guide](https://docs.sylius.com/en/latest/contributing/upgrading/) and [EasyAdmin’s changelog](https://github.com/EasyCorp/EasyAdminBundle/releases). The bundle may require patches if it lags behind—fork the repo or submit PRs to maintain compatibility.
- How do I test this bundle in a staging environment before production?
- Install the bundle in a staging Symfony app, then test critical flows: product CRUD, order creation, and checkout. Use `bin/console debug:container` to verify services load, and simulate API calls with Postman to validate JWT auth and CORS.
- Does this bundle include payment gateways, or do I need to integrate them separately?
- Sylius (the backbone) supports **multiple payment gateways** (e.g., Stripe, PayPal) out of the box, but you’ll need to configure them via Sylius’s payment plugins. The bundle doesn’t bundle specific gateways—check [Sylius’s documentation](https://docs.sylius.com/en/latest/book/payments.html) for setup.