At Celonis we use Angular and Nx for monorepo and ship updates to more than 40+ apps, which have 2 million lines of code, and we are adding more apps and libraries as we go.
Maintaining this huge codebase is a challenge, especially when you need to ship updates to them every week. More challenges come with a codebase this big; you may need new tools in your codebase, and new tools are released every week. What if you need to do a Proof of Concept, add a new Angular App, or update a new version of Angular or tooling like Cypress, Playwright, or Jest?
But we also get around 100 PRs per day from more than 30 teams contributing to the codebase; for each PR, we need to Run Unit Test, build, Component Test, User Journey test, and lint.
A new feature can break your application: how do you plan your release rollback shipping new features with confidence? But it can cause new features/ bug fixes to be rolled back from other apps; feature flags are an answer, but how can it be done in a codebase this big?
In this talk, we explore the world of Nx, where we can build, test, and deploy 40+ apps every week with the help of Nx. You will learn about:
Maintaining a huge Angular code base
CI/CD
Release strategy
Feature Flags
Introducing new tools to the codebase
Speaker
Santosh Yadav
Senior Software Engineer @Celonis, Co-Founder of This is Learning, a GDE for Angular, GitHub Star, and Nx Champion
Santosh is a Senior Software Engineer at Celonis, a GDE for Angular, GitHub Star, Nx Champion. He loves contributing to Angular and its ecosystem. He is a co-founder of This is Learning. He is also the author of the Ngx-Builders package and part of the NestJsAddOns core Team. He is also running This is Tech Talks talk show, where he invites industry experts to discuss different technologies.