Basically, what is the code and file structure of an average Elixir program? Are there any conventions? etc etc
Unlike Rails
framework, Phoenix
is working more like a library. The core ecosystem is written in a way to allow everyone do many different things. The conventions may be different not even between communities, but also between companies or groups.
Over years the our community developed patterns for the most common use cases. Those you can see in generated code (mix new
, mix phx.new
etc.) for example Phoenix contexts. However such common practices were created for a good developer experience. There are excellent at the start and they require minimum amount of work to match your specific use case.
However there is no rule to cover all cases. I would recommend reading a discussion for a different directory structure: