Umbrella and Child Projects
Learn how to set up an umbrella app and a common graph storage area for the project.
Parts of the project
The project that we’ll be developing falls into two main pieces.
First, we’ll take an in-depth look at five separate Elixir graph packages (
libgraph
,bolt_sips
,sparql_client
,gremlex
, anddlex
), which we’ll explore with a set of dedicated apps, and we’ll use a*_graph
pattern to name these.Then, we’ll build some more apps for working across these packages, and we’ll distinguish those by naming them
graph_*
. We’ll also make use of a common library, which we’ll introduce here in Part I (also named with thegraph_*
pattern). Essentially we’re dealing here with two sets of apps plus a common library app. That’s a lot of apps that we’ll manage under a single umbrella app.
Let's set up our umbrella app and the common library app. We’ll gradually introduce the other apps as we move on.
Code structure
We’ll structure our code as an Elixir umbrella app. Let’s call this umbrella project ExGraphsBook
.
In Elixir, an umbrella app refers to a close-knit family of related apps that can be sourced together in a single repo, also known as the
At this point, we can set out the roadmap for ourselves. The following diagram shows the umbrella app at the top and the child apps and their dependencies below.
Get hands-on with 1400+ tech skills courses.