fix lint errors
rollback database on internal server error
ensure that a new user's email is not in use.
display form validation errors
modify error messages and field names of forms
remove name from registration
add function to generate secret verification code