registration of a new user. a new user should at least provide email, username, password, and confirm password during the sign-up process. data validation must be provided (see below for requirements). if any data is invalid, display an error message. if all data are valid, register the user. check if the username is available. display an error message if the username is not available and provide a link back to the registration page so user can choose another username to complete the registration.