• The home page should show a signup form and a link to the login page
• To signup for the web application, users are supposed to enter: first and last name, email
address, phone number, password and password confirmation.
• When the user submits the form, apply the following validation rules:
1. Email should be unique, if the same email exists in the web application (repository), show a
message to the user
A user with this email address already exists, do you want to login?
login should be a link to the login page.
2. The password and its confirmation should be the same.
3. All the fields are required.
4. The phone number should be in the format (999-999-9999)
• If the signup process is successful, the user information should be saved (using a static repository class as per the reference implementation). The user should then be taken to the login page so they can login to the web application
The Login Form (/Home/Login)
The user should enter his email and password in input boxes to sign in.
If the email and password are correct (e.g. exist in the repository), redirect the user to Dashboard page o Implementation tips:
▪ Save the user’s information using a private instance variable at the controller level ▪ use return RedirectToAction to send the user to the Dashboard action
if the password is not correct, take the user back to the login form
Dashboard Page (/Home/Dashboard)
• This page should show the logged in user’s name and email.
o Tip: pass the instance variable that you saved at the controller level to the view to show
the required information.
• It should have links to o Show the User Listing page o Signing the user out (by sending him
back to the login page).
• if someone tries to access this page without logging it, return to the login page (using return
User listing (/Home/UserListing)
a. This page should show a table of all the users who are signed up and saved in the repository
b. The page should also contain a link to allow the user to return to the dashboard page.
• All the pages should be styled using bootstrap. The forms should be built in a proper way using Bootstrap classes so they look good.
• Add CSS class to highlight if any validation error happens in the forms.