I’ve come across a number of opinions in the Elixir community talking about how your domain model and your database models are best kept separate (ex: Dave Thomas and Lance Halvorsen). This is great since I’ve run into that issue in previous programming environments (Python + SQLAlchemy).
At some point, though you need to make your application’s state persistent. Can anyone point me to resources about how to do this (presumably with Ecto) in a way that preserves separation of concerns?
Ecto follows the Repository Pattern which helps separate the pure from the impure and Phoenix encourages working with Contexts, which is made easy by Ecto. The Ecto book says Phoenix Contexts were inspired by the concept of bounded contexts as described in the Domain Driven Design book.