Slide 1

Slide 1 text

Sylius - E-Commerce for Symfony Developers Paweł Jędrzejewski SymfonyLive, 26th September 2014 in London, UK

Slide 2

Slide 2 text

Paweł Jędrzejewski Huge beliver in Open Source Creator of Sylius Co-Founder at LAKION BDD evangelist !

Slide 3

Slide 3 text

ŁÓDŹ, POLAND

Slide 4

Slide 4 text

I care about developers.

Slide 5

Slide 5 text

We, open source developers, should care about each other.

Slide 6

Slide 6 text

? What are your options?

Slide 7

Slide 7 text

1. Start from scratch.

Slide 8

Slide 8 text

code for many MANY long hours

Slide 9

Slide 9 text

YEAH… And they think that you can do better than hundreds of open source developers…

Slide 10

Slide 10 text

YEAH… And think that you can do better than hundreds of open source developers…

Slide 11

Slide 11 text

You can do a better job.

Slide 12

Slide 12 text

If you collaborate.

Slide 13

Slide 13 text

Open source project Hundreds of developers thousands of man-hours Combined experience use-cases testing in production

Slide 14

Slide 14 text

2. Integrate an existing e-commerce solution.

Slide 15

Slide 15 text

It can be like this…

Slide 16

Slide 16 text

OLD „PHP” way MONOLITHIC NOT Developer-friendly Untesteble hacky

Slide 17

Slide 17 text

OLD „PHP” way MONOLITHIC NOT Developer-friendly Untesteble hacky

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

!!! Reinventing the wheel is bad…

Slide 20

Slide 20 text

…But if your wheel looks like this…

Slide 21

Slide 21 text

You may CONSIDER REplacing it.

Slide 22

Slide 22 text

Sylius Modern e-commerce for Symfony2

Slide 23

Slide 23 text

What is sylius Sylius components Sylius bundles Sylius platform

Slide 24

Slide 24 text

What is sylius Sylius components Sylius bundles Sylius platform

Slide 25

Slide 25 text

Sylius platform Core Web Interface Symfony Doctrine CMF Payum

Slide 26

Slide 26 text

? How does it look?

Slide 27

Slide 27 text

Currently… not so tempting

Slide 28

Slide 28 text

Work in progress

Slide 29

Slide 29 text

Responsive

Slide 30

Slide 30 text

? What can you build using Sylius?

Slide 31

Slide 31 text

sommelier-prive.de

Slide 32

Slide 32 text

colorscience.com

Slide 33

Slide 33 text

artlantis.com

Slide 34

Slide 34 text

? What makes Sylius different?

Slide 35

Slide 35 text

2014 OBJECT ORIENTED PHP • Decoupled architecture • No singletons and static access • Testable code • Lack of magic and hacks • DependencyInjection and many other design patterns

Slide 36

Slide 36 text

Modern Foundation • Symfony full-stack combined with tons of excellent libraries from the community • Shares the platform with great projects like OroCRM, Akeneo PIM, Drupal, eZ Publish • Built on the shoulders of the open source giants

Slide 37

Slide 37 text

Next level Flexibility on symfony • Dynamic mapping of the default models • Every service replacable and classes parametrized • Doctrine RTEL • Dynamic calculators for shipping, pricing, taxes • Events • Validation can be customized • Format agnostic controllers

Slide 38

Slide 38 text

Resource management via orm, Mongo dB ODM and PHPCR ODM Sylius Resource Layer ORM MongoDB PHPCR Your custom driver?

Slide 39

Slide 39 text

No content

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

Feature descriptions

Slide 42

Slide 42 text

Executed on travis-ci.org

Slide 43

Slide 43 text

Code quality

Slide 44

Slide 44 text

Compared to „old” solutions

Slide 45

Slide 45 text

? How to get started?

Slide 46

Slide 46 text

Require a single component $ composer require sylius/product:v0.10.0 setName(’T-Shirt’) ->setDescription(’Really cool t-shirt’) ;

Slide 47

Slide 47 text

Install symfony2 bundle $ composer require sylius/cart-bundle:v0.10.0 get(’sylius.cart_provider’)->getCart(); } } And follow the installation instructions from the documentation

Slide 48

Slide 48 text

Install SyliuS $ composer create-project sylius/sylius -s dev $ cd sylius $ app/console sylius:install $ composer create-project sylius/sylius-standard or

Slide 49

Slide 49 text

components and bundles

Slide 50

Slide 50 text

sylius e-Commerce toolset Product Cart Order Shipping Taxation Payment Inventory Currency Pricing Promotion Money Addressing

Slide 51

Slide 51 text

sylius Generic toolset Flow Settings Taxonomy Resource Sequence Variation Attribute Locale

Slide 52

Slide 52 text

What about content management? Symfony CMF Integration • Very basic integration with the CMF • Currently working on Sylius project with many CMS features • Big plans to take this integration even further • Block based product pages, all media stored via CMF

Slide 53

Slide 53 text

translate.sylius.org Over 215 translators!

Slide 54

Slide 54 text

DOCS.sylius.org

Slide 55

Slide 55 text

sylius.org

Slide 56

Slide 56 text

@pjedrzejewski @Sylius @Lakion pjedrzejewski.com sylius.org lakion.com THANK YOU! joind.in/11556

Slide 57

Slide 57 text

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