Hi,
I would like to ask something about the project structure and its best practice. I started with Elixir before Phoenix 1.3, work on some production projects wherein the majority we used Umbrella project setup, where one of Apps was named Core. This Core app had Ecto and other “connectors” for Kafka, Elasticsearch, etc. I run roughly 5 apps under Umbrella. I quite like this approach, though I miss some more topics/blog post/tutorials/courses/books on this topics. How to structure bigger projects Elixir or Erlang (I would assume that there should be a lot on this for Erlang, but sadly there isn’t). Especially in regards to later code updates, maintenance, …
So, I would keep this philosophy to use Core app for this connectivity issues/functionalities of my whole project setup
Now with Phoenix 1.3 and its directory structure change and this new concept of Context, I found it difficult to understand what would be best practice. Especially in regards to a new folder structure. Let say under phoenix project you have now 2 folders. lib/project_name and lib/project_name_web.
Now if I understand it correctly I should use Ecto and Context stuff under the folder lib/project_name. But how would you set up this, if even possible, under Umbrella project with my previous “approach” in mind? To totally remove DB layer out of the Phoenix app.
What happens then with Context? Is this ok? Do I lose all the good stuff?
I would really appreciate some guidance/tips/best practices here.
Best,
Tomaz