Official tutorial from documentation at emberjs.com/guides