Description
This assignment is a continuation of Assignment 1 thus all the requirements for this assignment is to be made “on top” of your assignment 1.
Note, no database connectivity is required for Assignment 2.
REMINDER:
All back-end functionality MUST be done using Node JS and Express. Your views MUST be created with Express-Handlebars
|
Features
Responsive Design
Ensure that your entire website renders well on a variety of devices, specifically on desktops, tablets, and smartphones. To accomplish this, you will need to use Bootstrap in your project.
Server-Side Validation
- You are required to implement Server-Side validation for both the login and registration form. NO HTML5 VALIDATION OR CLIENT-SIDE JS VALIDATION IS ALLOWED
- For the login form, you are required to ONLY check for nulls (i.e. check to see if the user entered a value in the respective text fields). However, for the registration form, you have to check for nulls AND implement at least 2 complex validation criteria using regular expressions on two separate fields(For example, enforcing that the user must enter a password that is 6 to 12 characters and the password must have letters and numbers only) .
- Your form should not clear the data entered in the form if there are validation errors.
- All error messages must be rendered on their respective pages or areas and must be styled properly, like Figure 1.1
Figure 1.1
User Registration Form (Sending Emails)
When a user fills out the registration form and then hits the submit button, provided that all the validation criteria were not violated, your website must then send a welcome email message to the user’s email address and then redirect the user to a dashboard page. For now, the dashboard page should contain information welcoming the user and should be properly styled.
Git, GitHub and Heroku
Your web application must be pushed to a remote GitHub or Bitbucket repository on your account. Please note that you must set your remote repository to private and then add me as a collaborator so I can view your web application. Lastly, you are required to deploy the working web application to Heroku.