generate model User
annotating model with annotate, schema update
user specs
add index to user email, with uniqueness
schema change with migration
downcase email before saving
added User authentication, related migration and specs