Getting started with Sylius

3,423 views
3,106 views

Published on

Introduction for the eZ Publish Community at eZ International Days in Oslo.

Published in: Technology
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,423
On SlideShare
0
From Embeds
0
Number of Embeds
153
Actions
Shares
0
Downloads
31
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

Getting started with Sylius

  1. 1. Getting started with Sylius Paweł Jędrzejewski eZ International Days, 3rd June 2014 in Oslo, Norway
  2. 2. Who am I? Paweł Jędrzejewski Huge beliver in Open Source Creator of Sylius BDD evangelist !
  3. 3. ŁÓDŹ, POLAND
  4. 4. ?What is most important for developer’s productivity?
  5. 5. Happiness!
  6. 6. Happiness!
  7. 7. A story about John THE PHP developer
  8. 8. JOHN’s applications on the outside
  9. 9. JOHN IS DEALING WITH that EVERY DAY
  10. 10. Have you heard about this new tool/ methodology called ABC? Yeah, I wish I could use it in my XYZ project, but it is not compatible or used.
  11. 11. ?What is the answer?
  12. 12. Sylius Modern e-commerce for Symfony2
  13. 13. What is sylius • E-Commerce framework for PHP • Set of bundles for Symfony2 • Platform based on Symfony2
  14. 14. e-commerce framework for php • Collection of decoupled components • Usable with any PHP project • Common E-Commerce patterns and domain models implemented in „raw” PHP code • Loosely integrated with other libraries
  15. 15. Set of bundles for symfony2 • Standalone Symfony2 bundles • Every E-Commerce feature lives in a separate package available through Composer • Can be integrated into existing application • Bundles as integration layers for Symfony
  16. 16. e-commerce symfony2 app • Online-selling platform • Can be used as a base for project or „as is” • Integration with other Symfony2 app is possible and easy • Consists of two main bundles containing Core and Web interface
  17. 17. ?How does it look?
  18. 18. administration interface
  19. 19. Work in progress
  20. 20. ?What can you build using Sylius?
  21. 21. sommelier-prive.de
  22. 22. colorscience.com
  23. 23. artlantis.com
  24. 24. ?What makes Sylius different?
  25. 25. PROPER OBJECT ORIENTED PHP • No singletons and static access all over the place • Testable code • Lack of magic • DependencyInjection and many other design patterns
  26. 26. vendors managed using composer • All Sylius components, bundles and distributions are available through Composer • Sylius uses Composer to manage its dependencies • No NIH allowed • A lot of community libraries
  27. 27. Symfony as framework • Sylius, just like eZ Publish, is built on top of full- stack Symfony2 • Based on Standard Edition, should be familiar for any Symfony developer • Does not reinvent the wheel and shares part of community
  28. 28. Doctrine as orm • No ActiveRecord • Fully featured ORM as the foundation for data storage • Whole data persistence hidden behind elegant interfaces • Potentially supports MongoDB and other platforms
  29. 29. Behavior DRIVEN DEVELOPMENT • StoryBDD with Behat maintains high level of communication quality among the community • We communicate using examples • Behat scenarios are executed as acceptance tests automatically on every change • SpecBDD using phpspec punishes us for any bad design decision • CodeQuality
  30. 30. Feature descriptions
  31. 31. Executed on travis-ci.org
  32. 32. Code quality
  33. 33. Compared to „old” solutions
  34. 34. ?How to get started?
  35. 35. Require a single component $ composer require sylius/product:v0.10.0 <?php ! $product = new Product(); ! $product ->setName(’T-Shirt’) ->setDescription(’Really cool t-shirt’) ;
  36. 36. Install symfony2 bundle $ composer require sylius/cart-bundle:v0.10.0 <?php ! class FooController extends Controller { public function barAction() { $cart = $this->get(’sylius.cart_provider’)->getCart(); } } And follow the installation instructions from the documentation
  37. 37. DOCS.sylius.org
  38. 38. Install Sylius app $ composer create-project sylius/sylius -s dev $ cd sylius $ app/console sylius:install
  39. 39. components and bundles
  40. 40. Resource Layer • Lives on top of Doctrine • Extends and uses Doctrine Common Persistence interfaces • Contains basic interfaces, like TimestampableInterface, SoftDeleteableInterface etc. • Integrated through SyliusResourceBundle
  41. 41. Products Attributes and variations Options and Variants • Component and bundle for common entity Attributes handling • Processing of object variations using options • Product integrates both Attributes and Variants
  42. 42. Orders and Carts Sales and Shopping Cart • Cart is an Order with appropriate state „checkout” • Support of Adjustments for discounts and fees • Order items can contain any type of object or plain text, quantity and price
  43. 43. Other components and bundles We have few of them • Taxation with categorization and different calculators support • Complex shipping management with different shipping methods and cost calculators • Inventory tracking with backorders support • Promotions system with coupons, actions and custom rules support • Addresses management with geographical zones for precise shipping and taxation rates • Payum integration for payments
  44. 44. Okay, a bit more than „few” More fun • Workflows, checkouts, installation wizards and multistep actions • Pricing component with customizable price calculators (volume, regional, per custom group etc.) • Settings system for easy configuration via GUI • Taxonomies for categorization of products • Theming, Plugins, Reviews, Subscriptions, Multi-Channel (coming soon)
  45. 45. What about content management? Symfony CMF Integration • Very basic integration with the CMF • Simple content types and blocks • Big plans to take this integration even further
  46. 46. ez Publish + Sylius Can we work together?
  47. 47. translate.sylius.org
  48. 48. sylius.org
  49. 49. @pjedrzejewski @Sylius ! pjedrzejewski.com sylius.org THANK YOU!
  50. 50. Image Credits https://www.flickr.com/photos/ilikespoons/8395923694/ https://www.flickr.com/photos/kalexanderson/5421517469 https://www.flickr.com/photos/woolamaloo_gazette/12822529314 https://www.flickr.com/photos/dey/44559604 https://www.flickr.com/photos/suckamc/8474229421 https://www.flickr.com/photos/kwl/4247555680

×