Agreed! Most of my learning of elixir/phoenix was by looking at working code, and then checking the docs on the module to wire it as something different. After a couple of tutorials one finds it better to grab a chunk of code and see it working in your project rather than slogging through a toy tutorial project.
Using phoenix as your first web framework around this “transitory” period is especially difficult, as there’s effectively an “old” phoenix and a “new” phoenix schism with LiveView, which’ll crop up in tutorial books.
Here’s a thread with more examples to work off of:
I also reference GitHub - livebook-dev/livebook: Automate code & data workflows with interactive Elixir notebooks and GitHub - dashbitco/bytepack_archive: Archive of bytepack.io
I think the bytepack archive will help the most in understanding Ecto/associations.