Sylius Hackathon Summary
As you probably know from our previous blog post, part of our team: Łukasz, Arek & me, have travelled to Berlin for the code.talks Commerce Special conference and most importantly, to attend the Sylius Hackathon. The event was organized by the awesome guys from Coding Berlin and hosted at the VOTUM GmbH offices. We have managed to gather over 20 people, from which some have travelled quite a distance to attend a full weekend of coding. Many people have not worked with Sylius before, but were eager to try our new eCommerce framework.
Introduction speech. All photos courtesy of CodingBerlin & VOTUM GmbH
We started with my presentation, which explained the differences between existing PHP solutions and also clarified Sylius plans for the future. Not so long time ago we have released BETA2 (check the blog post here!), so it was a perfect moment to try out the latest features and improvements.
Workshop by Łukasz
After the presentation, Łukasz did a hands-on workshop, which introduced everyone to Sylius basics and our BDD workflows. Once all Vagrant & Docker setups were up and running, we have started customizing Sylius to include new Suppliers management functionality in the admin, using PHPSpec & Behat
Workshop led by Łukasz
Let’s code some plugins
As we are starting to build our ecosystem, we decided that it would be cool to not only try customizing Sylius, but also sharing our work with the community. Here Plugins come to play! While our conventions are still evolving and we are adjusting the core platform to better support this kind of extendibility, it was a great exercise for everyone, including us, the core team. To be honest, everyone was so into coding on late Sunday, that we had to convince them to finish and get some relax! :)
Some examples of what we have built:
CodingBerlinExtraPromotionsPlugin - This group led by Łukasz, managed to implement a plugin, which extends the core platform with new types of discount rules and actions. Want to sell every 3rd t-shirt with a discount? Install this plugin and it is now possible to configure such promotion in Sylius admin. What is more, the plugin is covered with Behat scenarios (automated tests), which ensures that everything works as expected. https://github.com/coding-berlin/ExtraPromotionsPlugin
BitBagMailchimpPlugin - This group led by Mikołaj Król (who came all the way from Opole), implemented a simple integration with the Mailchimp service, which adds a subscription form in the footer and also synchronizes Sylius customers with the API. https://github.com/bitbag-commerce/mailchimp-plugin
PdosWebhooksPlugin - This is something I wanted to build for a long time, and I finally managed to do this at the hackathon. It was tough to code, while trying to help the organizers and all attendees, but I managed to build a PoC. This plugin adds configurable (in admin UI) webhooks, that can be fired on specific Sylius events, for example when an order is placed, paid or cancelled. It works almost exactly like GitHub webhooks. A POST request with a serialized data is sent to a specific URL. The bundle needs polishing and documentation, but is a good start if you need to integrate Sylius with other systems using webhooks.https://github.com/pjedrzejewski/PdosWebhooksPlugin
Shipment splitting plugin - While not ready for release yet, the group led by Arek managed to implement shipment splitting logic customization. This allows you to create more than one shipment per order, for example based on the inventory availability. This plugin will be battle tested soon at a real project and hopefully released as a free package.
- Localization plugin - It is quite tedious to configure Sylius manually for every country. Wouldn’t it be nice to just run
php bin/console plugin:localize de_DEand get a new channel configured with zones, taxes, locales & countries? This one still needs some work, but is an excellent idea and hopefully we will be finished soon!
I was really impressed by the output, because it was first time experience for most of the developers. The community in Berlin is amazing and everyone had a blast!
Arek's group developing a new plugin
BBQ at the terrace
We finished the weekend with a BBQ party at the terrace of VOTUM’s offices. The food, beer and view was amazing and we continued some technical discussions about eCommerce, DevOps, integrations and more… Yes, 2 full days of hacking was not enough for these folks.
Photos and Interview
See some more photos in CodingBerlin's album on Facebook: https://www.facebook.com/pg/codingberlin/photos/?tab=album&album_id=803426556476980.
Listen to the interview I gave at the end of the event here: https://www.youtube.com/watch?v=bTUlzVy3QF8
You can also read the summary by VOTUM GmbH in German here: https://votum.de/fokus-e-commerce/sylius-hackathon-und-interview
We would like to thank CodingBerlin for organizing this event and VOTUM GmbH for hosting us. It was a great experience and we look forward to more events like these.
See you around!
Organize a meetup or hackathon
If you would like to organize Sylius event at your company or local community, let us know via e-mail: firstname.lastname@example.org. We would love to help!