add User DB
add some constraints for User model.
add email validation.
add authenticate