diff --git a/radar/2022-03-28/monorepo.md b/radar/2022-03-28/monorepo.md new file mode 100644 index 0000000..c57e0b4 --- /dev/null +++ b/radar/2022-03-28/monorepo.md @@ -0,0 +1,21 @@ +--- +title: "Monorepo" +ring: trial +quadrant: methods-and-patterns +featured: true +--- + +A monorepo is a single repository containing multiple projects and shared libraries with their relationships. + +At AOE, we are use a monorepo that is home to both our React and Next.js based frontends and +our [Go](/languages-and-frameworks/go-lang.html) / [Flamingo](/languages-and-frameworks/flamingo.html) based backends, +as well as shared libraries we use in all of our projects. + +The main benefits in that approach are: + * Breaking changes are directly detected and must be fixed within the same pull request on all projects + * No conflicting versions of dependencies + * Same CI Setup for everything and no overhead on new projects + * Tool consistency over all projects + +If you take the monorepo approach, of course you want to have a tool to manage it. There are a lot of them on the market +and at AOE we have decided to go with [Nx](/tools/nx.html).