Working with Umbrella Applications
Contexts can help you determine how to break your app into more manageable parts. But as your app continues to grow, you may find that you want a greater degree of separation between the components. This can happen if individual contexts start to grow too large, or if you just want to be able to deploy different parts of your app separately.
Umbrellas allow you to easily group multiple applications into the same mix project and source code repository. Instead of bundling all of our code into a single application, we can split it up into multiple applications. Elixir’s mix new and Phoenix’s mix phx.new generators support creating umbrella projects by passing the --umbrella flag.
An umbrella ...