Thanks for the details..
I got the fact to build dedicated app under un umbrella app and it does make sense.
So at the beginning I only wanted to know if it’s fine to move all the configuration file from the phoenix directory to the top umbrella app..
I thought that the umbrella app should be a regular elixir app but so it might be anything..
So I wondered how I can translate my initial goal (trying to follow along an old tutorial) to have the following working:
> mix new my_app_umbrella
> cd my_app_umbrella/apps
> mix phx.new my_web_app --no-ecto
> mix new my_app --sup
Here I’m noticing that I’m ending up with three apps:
my_app_umbrella/apps/my_app/lib/my_app #our custom domain logic (with ecto and supervised)
my_app_umbrella/apps/my_web_app/lib/my_web_app_web #the web part of Phoenix
my_app_umbrella/apps/my_web_app/lib/my_web_app #the domain logic part of Phoenix (hence without ecto)
But I start thinking that something is definitely awkward here..
So I tested with mix phx.new my_app --umbrella as you suggested.
First I noticed that in this case mix appended _umbrella by itself for the root directory and that each of the lib/my_app_web and lib/my_app we used to have in Phoenix app are now under the umbrella apps directory my_app_umbrella/apps/.
Then in this case everything are in the single config file under the config directory of the umbrella app my_app/config/config.exs and I’m simply ending up with two apps:
my_app_umbrella/apps/my_app/lib/my_app #the domain logic generated by phoenix (with ecto included)
my_app_umbrella/apps/my_app_web/lib/my_app_web #the web part of Phoenix
Indeed this seems pretty clean.
Now I’m thinking that this is what was initially intended by the author course, but I guess that in that time Elixir and Phoenix were not configured to behave like this.
But now I wonder what is the difference between a regular phoenix app and an umbrella phoenix app?
Which one is better to follow? It seems that it’s only a matter of directory structure..
Anyway thank you..


















