SlideShare a Scribd company logo

Monorepo: How We Started to Save Our Developers Time

The development of multiple repositories is not always an easy task. If you want to offer a high-quality and evolving application, sooner or later, there is a need to make the same changes in several packages. This can be a simple change in the documentation of a few packages or the adoption of new coding standards. During the development of Shopsys Framework, we have come to the point where thousands of hours were allocated for development across multiple repositories and for development of new packages. And it was this moment when we decided to choose the way of monorepo. Upgrade several packages to a new version of PHPUnit? Why not! Change of method in API used across multiple packages? Super easy! Of course, monorepo is not for everyone. We will show you, why it can be useful to use monorepo and what was the way to the monorepo in Shopsys Framework.

Monorepo: How We Started to Save Our Developers Time

1 of 69
Download to read offline
Svaťa
Šimara
MONOREPO
How We Started
to Save Our
Developers Time
Framework Developer
Shopsys
Framework
www.shopsys.czYour Success in e-commerce
• Open source
• Platform for building online
stores
• From devs to devs
Shopsys
Framework
www.shopsys.czYour Success in e-commerce
• Started with monolith
• Separated useful tools
– Smoke testing
– Coding standards
– Migrations
– …
• Ended up with 14 git repositories
Do You have to
maintain multiple
repositories?
www.shopsys.czYour Success in e-commerce
Problem #1
Make change in
all repositories
www.shopsys.czYour Success in e-commerce
• Add a sentence into all readmes
• Change 14 files
• Make 14 commits
• Create 14 pull requests
• Send to code review!
Problem #1
Make change in
all repositories
www.shopsys.czYour Success in e-commerce
• „You have a typo”
• 14 fixes?
• 14 fix commits?
• 14 second code reviews?
Ad

Recommended

E-commerce Store Design with PrestaShop Best Practices & Examples
E-commerce Store Design with PrestaShop Best Practices & ExamplesE-commerce Store Design with PrestaShop Best Practices & Examples
E-commerce Store Design with PrestaShop Best Practices & ExamplesPrestaShop
 
Phpworks enterprise-php-1227605806710884-9
Phpworks enterprise-php-1227605806710884-9Phpworks enterprise-php-1227605806710884-9
Phpworks enterprise-php-1227605806710884-9PrinceGuru MS
 
Bringing Content and Commerce Together (presented by Ania Hentz at eZ Confere...
Bringing Content and Commerce Together (presented by Ania Hentz at eZ Confere...Bringing Content and Commerce Together (presented by Ania Hentz at eZ Confere...
Bringing Content and Commerce Together (presented by Ania Hentz at eZ Confere...eZ Systems
 
Marketing Automation Needs YOU! WordCamp Barcelona 25 April 2015
Marketing Automation Needs YOU! WordCamp Barcelona 25 April 2015Marketing Automation Needs YOU! WordCamp Barcelona 25 April 2015
Marketing Automation Needs YOU! WordCamp Barcelona 25 April 2015Diana Koshedzhiyska
 
Wordpress course
Wordpress courseWordpress course
Wordpress courseSpy Seat
 
Laramvel Essay
Laramvel EssayLaramvel Essay
Laramvel EssayLiz Harris
 
Adventures in WooCommerce: Considerations for a Successful eCommerce Store
Adventures in WooCommerce: Considerations for a Successful eCommerce StoreAdventures in WooCommerce: Considerations for a Successful eCommerce Store
Adventures in WooCommerce: Considerations for a Successful eCommerce StoreLumen Foundry
 

More Related Content

Similar to Monorepo: How We Started to Save Our Developers Time

Sell your code: Announcing the DroopyAppStore
Sell your code: Announcing the DroopyAppStoreSell your code: Announcing the DroopyAppStore
Sell your code: Announcing the DroopyAppStoreRobert Douglass
 
10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware Programming10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware ProgrammingPostSharp Technologies
 
Top 7 eCommerce Platforms for 2014
Top 7 eCommerce Platforms for 2014Top 7 eCommerce Platforms for 2014
Top 7 eCommerce Platforms for 2014Stefanos Falkonakis
 
API Introduction - API Management Workshop Munich from Ronnie Mitra
API Introduction - API Management Workshop Munich from Ronnie MitraAPI Introduction - API Management Workshop Munich from Ronnie Mitra
API Introduction - API Management Workshop Munich from Ronnie MitraCA API Management
 
Building reusable websites on Drupal 8: lessons learned from transforming red...
Building reusable websites on Drupal 8: lessons learned from transforming red...Building reusable websites on Drupal 8: lessons learned from transforming red...
Building reusable websites on Drupal 8: lessons learned from transforming red...Peter Vanhee
 
Lean with MEAN (MEAN stack for Lean startup)
Lean with MEAN (MEAN stack for Lean startup)Lean with MEAN (MEAN stack for Lean startup)
Lean with MEAN (MEAN stack for Lean startup)Synerzip
 
Uklug2009 Hairy Bikers Cookbook
Uklug2009   Hairy Bikers CookbookUklug2009   Hairy Bikers Cookbook
Uklug2009 Hairy Bikers CookbookBill Buchan
 
DevOps with elmah.io on Umbraco Cloud
DevOps with elmah.io on Umbraco CloudDevOps with elmah.io on Umbraco Cloud
DevOps with elmah.io on Umbraco CloudThomas Ardal
 
When e-commerce meets Symfony
When e-commerce meets SymfonyWhen e-commerce meets Symfony
When e-commerce meets SymfonyMarc Morera
 
Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)Ivo Jansch
 
Wordpress and Your Brand
Wordpress and Your BrandWordpress and Your Brand
Wordpress and Your BrandSara Cannon
 
Five ways to improve Quality and Productivity of your Development
Five ways to improve Quality and Productivity of your DevelopmentFive ways to improve Quality and Productivity of your Development
Five ways to improve Quality and Productivity of your DevelopmentJonas Rapp
 
ShimBi Labs 1st Partner Meet
ShimBi Labs 1st Partner MeetShimBi Labs 1st Partner Meet
ShimBi Labs 1st Partner MeetShimBi Labs
 
Uvod u php - Danilo Purić i Tarik Zaimović
Uvod u php - Danilo Purić i Tarik ZaimovićUvod u php - Danilo Purić i Tarik Zaimović
Uvod u php - Danilo Purić i Tarik ZaimovićBild_Studio
 
E-Commerce 101
E-Commerce 101E-Commerce 101
E-Commerce 101Paul Lepa
 
Code smells and Other Malodorous Software Odors
Code smells and Other Malodorous Software OdorsCode smells and Other Malodorous Software Odors
Code smells and Other Malodorous Software OdorsClint Edmonson
 
WordCamp Ireland - 40 tips for WordPress Optimization
WordCamp Ireland - 40 tips for WordPress OptimizationWordCamp Ireland - 40 tips for WordPress Optimization
WordCamp Ireland - 40 tips for WordPress OptimizationJoost de Valk
 
Going Full Throttle: How to Speed Time to Market on Marketing Campaign Sites
Going Full Throttle: How to Speed Time to Market on Marketing Campaign SitesGoing Full Throttle: How to Speed Time to Market on Marketing Campaign Sites
Going Full Throttle: How to Speed Time to Market on Marketing Campaign SitesAcquia
 
Shopify Ecommerce Solutions Proposal PowerPoint Presentation Slides
Shopify Ecommerce Solutions Proposal PowerPoint Presentation SlidesShopify Ecommerce Solutions Proposal PowerPoint Presentation Slides
Shopify Ecommerce Solutions Proposal PowerPoint Presentation SlidesSlideTeam
 

Similar to Monorepo: How We Started to Save Our Developers Time (20)

Sell your code: Announcing the DroopyAppStore
Sell your code: Announcing the DroopyAppStoreSell your code: Announcing the DroopyAppStore
Sell your code: Announcing the DroopyAppStore
 
10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware Programming10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware Programming
 
Top 7 eCommerce Platforms for 2014
Top 7 eCommerce Platforms for 2014Top 7 eCommerce Platforms for 2014
Top 7 eCommerce Platforms for 2014
 
API Introduction - API Management Workshop Munich from Ronnie Mitra
API Introduction - API Management Workshop Munich from Ronnie MitraAPI Introduction - API Management Workshop Munich from Ronnie Mitra
API Introduction - API Management Workshop Munich from Ronnie Mitra
 
Building reusable websites on Drupal 8: lessons learned from transforming red...
Building reusable websites on Drupal 8: lessons learned from transforming red...Building reusable websites on Drupal 8: lessons learned from transforming red...
Building reusable websites on Drupal 8: lessons learned from transforming red...
 
Lean with MEAN (MEAN stack for Lean startup)
Lean with MEAN (MEAN stack for Lean startup)Lean with MEAN (MEAN stack for Lean startup)
Lean with MEAN (MEAN stack for Lean startup)
 
Uklug2009 Hairy Bikers Cookbook
Uklug2009   Hairy Bikers CookbookUklug2009   Hairy Bikers Cookbook
Uklug2009 Hairy Bikers Cookbook
 
Web design basics_01
Web design basics_01Web design basics_01
Web design basics_01
 
DevOps with elmah.io on Umbraco Cloud
DevOps with elmah.io on Umbraco CloudDevOps with elmah.io on Umbraco Cloud
DevOps with elmah.io on Umbraco Cloud
 
When e-commerce meets Symfony
When e-commerce meets SymfonyWhen e-commerce meets Symfony
When e-commerce meets Symfony
 
Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)
 
Wordpress and Your Brand
Wordpress and Your BrandWordpress and Your Brand
Wordpress and Your Brand
 
Five ways to improve Quality and Productivity of your Development
Five ways to improve Quality and Productivity of your DevelopmentFive ways to improve Quality and Productivity of your Development
Five ways to improve Quality and Productivity of your Development
 
ShimBi Labs 1st Partner Meet
ShimBi Labs 1st Partner MeetShimBi Labs 1st Partner Meet
ShimBi Labs 1st Partner Meet
 
Uvod u php - Danilo Purić i Tarik Zaimović
Uvod u php - Danilo Purić i Tarik ZaimovićUvod u php - Danilo Purić i Tarik Zaimović
Uvod u php - Danilo Purić i Tarik Zaimović
 
E-Commerce 101
E-Commerce 101E-Commerce 101
E-Commerce 101
 
Code smells and Other Malodorous Software Odors
Code smells and Other Malodorous Software OdorsCode smells and Other Malodorous Software Odors
Code smells and Other Malodorous Software Odors
 
WordCamp Ireland - 40 tips for WordPress Optimization
WordCamp Ireland - 40 tips for WordPress OptimizationWordCamp Ireland - 40 tips for WordPress Optimization
WordCamp Ireland - 40 tips for WordPress Optimization
 
Going Full Throttle: How to Speed Time to Market on Marketing Campaign Sites
Going Full Throttle: How to Speed Time to Market on Marketing Campaign SitesGoing Full Throttle: How to Speed Time to Market on Marketing Campaign Sites
Going Full Throttle: How to Speed Time to Market on Marketing Campaign Sites
 
Shopify Ecommerce Solutions Proposal PowerPoint Presentation Slides
Shopify Ecommerce Solutions Proposal PowerPoint Presentation SlidesShopify Ecommerce Solutions Proposal PowerPoint Presentation Slides
Shopify Ecommerce Solutions Proposal PowerPoint Presentation Slides
 

More from Svatopluk Šimara

More from Svatopluk Šimara (9)

Focus on the essece with Domain-Driven Design
Focus on the essece with Domain-Driven DesignFocus on the essece with Domain-Driven Design
Focus on the essece with Domain-Driven Design
 
DDD + Doctrine
DDD + DoctrineDDD + Doctrine
DDD + Doctrine
 
Read model & CQRS
Read model & CQRSRead model & CQRS
Read model & CQRS
 
DDD kurz - 5. Persistence + Doctrine
DDD kurz - 5. Persistence + DoctrineDDD kurz - 5. Persistence + Doctrine
DDD kurz - 5. Persistence + Doctrine
 
DDD kurz - 4. Implementace
DDD kurz - 4. ImplementaceDDD kurz - 4. Implementace
DDD kurz - 4. Implementace
 
DDD kurz - 3. model
DDD kurz - 3. modelDDD kurz - 3. model
DDD kurz - 3. model
 
DDD kurz - 2. jazyk
DDD kurz - 2. jazykDDD kurz - 2. jazyk
DDD kurz - 2. jazyk
 
DDD kurz - 1. přehled
DDD kurz - 1. přehledDDD kurz - 1. přehled
DDD kurz - 1. přehled
 
Domain-Driven Design Sraz 6.6.2018
Domain-Driven Design Sraz 6.6.2018Domain-Driven Design Sraz 6.6.2018
Domain-Driven Design Sraz 6.6.2018
 

Recently uploaded

Bluetooth Low Energy(BLE) and beacons working
Bluetooth Low Energy(BLE) and beacons workingBluetooth Low Energy(BLE) and beacons working
Bluetooth Low Energy(BLE) and beacons workingshrey Ansh
 
From eSIMs to iSIMs: It’s Inside the Manufacturing
From eSIMs to iSIMs: It’s Inside the ManufacturingFrom eSIMs to iSIMs: It’s Inside the Manufacturing
From eSIMs to iSIMs: It’s Inside the ManufacturingSoracom Global, Inc.
 
AWS reInvent 2023 recaps from Chicago AWS user group
AWS reInvent 2023 recaps from Chicago AWS user groupAWS reInvent 2023 recaps from Chicago AWS user group
AWS reInvent 2023 recaps from Chicago AWS user groupAWS Chicago
 
Microsoft Azure News - Feb 2024
Microsoft Azure News - Feb 2024Microsoft Azure News - Feb 2024
Microsoft Azure News - Feb 2024Daniel Toomey
 
AUGMENTED REALITY (AR) IN DAILY LIFE: EXPANDING BEYOND GAMING
AUGMENTED REALITY (AR) IN DAILY LIFE: EXPANDING BEYOND GAMINGAUGMENTED REALITY (AR) IN DAILY LIFE: EXPANDING BEYOND GAMING
AUGMENTED REALITY (AR) IN DAILY LIFE: EXPANDING BEYOND GAMINGLiveplex
 
2) Presentation_Overview_ISO_16140-3_Method_verification_20210322.pptx
2) Presentation_Overview_ISO_16140-3_Method_verification_20210322.pptx2) Presentation_Overview_ISO_16140-3_Method_verification_20210322.pptx
2) Presentation_Overview_ISO_16140-3_Method_verification_20210322.pptxssuser796efb
 
Unlocking the Cloud's True Potential: Why Multitenancy Is The Key?
Unlocking the Cloud's True Potential: Why Multitenancy Is The Key?Unlocking the Cloud's True Potential: Why Multitenancy Is The Key?
Unlocking the Cloud's True Potential: Why Multitenancy Is The Key?GleecusTechlabs1
 
"Journey of Aspiration: Unveiling the Path to Becoming a Technocrat and Entre...
"Journey of Aspiration: Unveiling the Path to Becoming a Technocrat and Entre..."Journey of Aspiration: Unveiling the Path to Becoming a Technocrat and Entre...
"Journey of Aspiration: Unveiling the Path to Becoming a Technocrat and Entre...shaiyuvasv
 
Navigating the Never Normal Strategies for Portfolio Leaders
Navigating the Never Normal Strategies for Portfolio LeadersNavigating the Never Normal Strategies for Portfolio Leaders
Navigating the Never Normal Strategies for Portfolio LeadersOnePlan Solutions
 
CIRCLE geometry lesson 2nd quarter grade 10
CIRCLE geometry lesson 2nd quarter  grade 10CIRCLE geometry lesson 2nd quarter  grade 10
CIRCLE geometry lesson 2nd quarter grade 10RicFernandez4
 
Tete thermostatique Zigbee MOES BRT-100 V2.pdf
Tete thermostatique Zigbee MOES BRT-100 V2.pdfTete thermostatique Zigbee MOES BRT-100 V2.pdf
Tete thermostatique Zigbee MOES BRT-100 V2.pdfDomotica daVinci
 
Z-Wave Fan coil Thermostat Heltun_HE-HT01_User_Manual.pdf
Z-Wave Fan coil Thermostat Heltun_HE-HT01_User_Manual.pdfZ-Wave Fan coil Thermostat Heltun_HE-HT01_User_Manual.pdf
Z-Wave Fan coil Thermostat Heltun_HE-HT01_User_Manual.pdfDomotica daVinci
 
Enhancing SaaS Performance: A Hands-on Workshop for Partners
Enhancing SaaS Performance: A Hands-on Workshop for PartnersEnhancing SaaS Performance: A Hands-on Workshop for Partners
Enhancing SaaS Performance: A Hands-on Workshop for PartnersThousandEyes
 
Zi-Stick UBS Dongle ZIgbee from Aeotec manual
Zi-Stick UBS Dongle ZIgbee from  Aeotec manualZi-Stick UBS Dongle ZIgbee from  Aeotec manual
Zi-Stick UBS Dongle ZIgbee from Aeotec manualDomotica daVinci
 
AWS for the beginning is cloud computing
AWS for the beginning  is  cloud computingAWS for the beginning  is  cloud computing
AWS for the beginning is cloud computingkajalghule1
 
GDSC MMCOE - ML Campaign
GDSC MMCOE - ML CampaignGDSC MMCOE - ML Campaign
GDSC MMCOE - ML CampaignLavesh Akhadkar
 

Recently uploaded (20)

Bluetooth Low Energy(BLE) and beacons working
Bluetooth Low Energy(BLE) and beacons workingBluetooth Low Energy(BLE) and beacons working
Bluetooth Low Energy(BLE) and beacons working
 
From eSIMs to iSIMs: It’s Inside the Manufacturing
From eSIMs to iSIMs: It’s Inside the ManufacturingFrom eSIMs to iSIMs: It’s Inside the Manufacturing
From eSIMs to iSIMs: It’s Inside the Manufacturing
 
My Country Mobile
My Country MobileMy Country Mobile
My Country Mobile
 
AWS reInvent 2023 recaps from Chicago AWS user group
AWS reInvent 2023 recaps from Chicago AWS user groupAWS reInvent 2023 recaps from Chicago AWS user group
AWS reInvent 2023 recaps from Chicago AWS user group
 
5 Tech Trend to Notice in ESG Landscape- 47Billion
5 Tech Trend to Notice in ESG Landscape- 47Billion5 Tech Trend to Notice in ESG Landscape- 47Billion
5 Tech Trend to Notice in ESG Landscape- 47Billion
 
Microsoft Azure News - Feb 2024
Microsoft Azure News - Feb 2024Microsoft Azure News - Feb 2024
Microsoft Azure News - Feb 2024
 
AUGMENTED REALITY (AR) IN DAILY LIFE: EXPANDING BEYOND GAMING
AUGMENTED REALITY (AR) IN DAILY LIFE: EXPANDING BEYOND GAMINGAUGMENTED REALITY (AR) IN DAILY LIFE: EXPANDING BEYOND GAMING
AUGMENTED REALITY (AR) IN DAILY LIFE: EXPANDING BEYOND GAMING
 
Russia Ukraine war Cyberspace operations (2022-2024)
Russia Ukraine war Cyberspace operations (2022-2024)Russia Ukraine war Cyberspace operations (2022-2024)
Russia Ukraine war Cyberspace operations (2022-2024)
 
2) Presentation_Overview_ISO_16140-3_Method_verification_20210322.pptx
2) Presentation_Overview_ISO_16140-3_Method_verification_20210322.pptx2) Presentation_Overview_ISO_16140-3_Method_verification_20210322.pptx
2) Presentation_Overview_ISO_16140-3_Method_verification_20210322.pptx
 
Unlocking the Cloud's True Potential: Why Multitenancy Is The Key?
Unlocking the Cloud's True Potential: Why Multitenancy Is The Key?Unlocking the Cloud's True Potential: Why Multitenancy Is The Key?
Unlocking the Cloud's True Potential: Why Multitenancy Is The Key?
 
GTA 6.pdf
GTA 6.pdfGTA 6.pdf
GTA 6.pdf
 
"Journey of Aspiration: Unveiling the Path to Becoming a Technocrat and Entre...
"Journey of Aspiration: Unveiling the Path to Becoming a Technocrat and Entre..."Journey of Aspiration: Unveiling the Path to Becoming a Technocrat and Entre...
"Journey of Aspiration: Unveiling the Path to Becoming a Technocrat and Entre...
 
Navigating the Never Normal Strategies for Portfolio Leaders
Navigating the Never Normal Strategies for Portfolio LeadersNavigating the Never Normal Strategies for Portfolio Leaders
Navigating the Never Normal Strategies for Portfolio Leaders
 
CIRCLE geometry lesson 2nd quarter grade 10
CIRCLE geometry lesson 2nd quarter  grade 10CIRCLE geometry lesson 2nd quarter  grade 10
CIRCLE geometry lesson 2nd quarter grade 10
 
Tete thermostatique Zigbee MOES BRT-100 V2.pdf
Tete thermostatique Zigbee MOES BRT-100 V2.pdfTete thermostatique Zigbee MOES BRT-100 V2.pdf
Tete thermostatique Zigbee MOES BRT-100 V2.pdf
 
Z-Wave Fan coil Thermostat Heltun_HE-HT01_User_Manual.pdf
Z-Wave Fan coil Thermostat Heltun_HE-HT01_User_Manual.pdfZ-Wave Fan coil Thermostat Heltun_HE-HT01_User_Manual.pdf
Z-Wave Fan coil Thermostat Heltun_HE-HT01_User_Manual.pdf
 
Enhancing SaaS Performance: A Hands-on Workshop for Partners
Enhancing SaaS Performance: A Hands-on Workshop for PartnersEnhancing SaaS Performance: A Hands-on Workshop for Partners
Enhancing SaaS Performance: A Hands-on Workshop for Partners
 
Zi-Stick UBS Dongle ZIgbee from Aeotec manual
Zi-Stick UBS Dongle ZIgbee from  Aeotec manualZi-Stick UBS Dongle ZIgbee from  Aeotec manual
Zi-Stick UBS Dongle ZIgbee from Aeotec manual
 
AWS for the beginning is cloud computing
AWS for the beginning  is  cloud computingAWS for the beginning  is  cloud computing
AWS for the beginning is cloud computing
 
GDSC MMCOE - ML Campaign
GDSC MMCOE - ML CampaignGDSC MMCOE - ML Campaign
GDSC MMCOE - ML Campaign
 

Monorepo: How We Started to Save Our Developers Time