ecto usage in example projects?

Thank you all for your insightful responses. They all provide great references to study.

@yurko were you able to get this one running? I’ve tried but am receiving this error when I follow the install instructions on their README:
08:31:47.792 [error] GenServer #PID<0.4925.0> terminating ** (DBConnection.ConnectionError) tcp connect (localhost:5432): connection refused - :econnrefused (db_connection) lib/db_connection/connection.ex:148: DBConnection.Connection.connect/2 (connection) lib/connection.ex:622: Connection.enter_connect/5 (stdlib) proc_lib.erl:247: :proc_lib.init_p_do_apply/3 Last message: nil State: Postgrex.Protocol ** (Mix) The database for Boilerplate.Repo couldn't be created: an exception was raised: ** (DBConnection.ConnectionError) tcp connect (localhost:5432): connection refused - :econnrefused (db_connection) lib/db_connection/connection.ex:148: DBConnection.Connection.connect/2 (connection) lib/connection.ex:622: Connection.enter_connect/5 (stdlib) proc_lib.erl:247: :proc_lib.init_p_do_apply/3

This looks to me like postgres is not installed. Am I correct in assuming I should first install posgres on my machine (OSx 10.13) then retry the install? Also am I safe using the postgres 10.4 or should I use a older version?

Regardless you have already been more then helpful thank you very much.