This blog post might be usefull for people learning Phoenix 1.3 with the Programming Phoenix book.
There are many changes from the older phoenix version for which this book has been written and the yet not published newer book "Programming Phoenix 1.3" which should be here untill 2018.
Many changes have been implemented in Ecto, Elixir and also Phoenix so often I needed to go deep into the source and API documentation (which is useful because the learning curve is better).
If you also followed this, I recommend always searching on the following page if you have issues
https://pragprog.com/titles/phoenix/errata
The Models folder and the web folder have disappeared. The models folder can be replaced by creating folders and storing data for your "schemas", "models" elswhere .
The web has become <yourapp>_webNOTE:
Ecto validate_length does NOT verify if something is required, so it;s always best to do something like the following by including validate_required
struct|> cast(params, [:name, :username])|> validate_required([:name, :username])|> validate_length(:username, min: 3 ,max: 20)