In: Computer Science
E-commerce Question
Study the scenario and complete the question(s) that
follow:
Assume you and your university friends have a new start-up company
called MealsOnWheels. The goal
of the start-up is to provide the services of a chef on demand. The
business is located in Vorna Valley,
Midrand. In addition to mobile chef services, you also provide
health and wellness services.
After careful deliberation, you have decided that your start-up
needs a website to assist in increasing its
client base.
As part of your communication pathways, you have decided to
incorporate a chat page that allows
clients to chat with a chef who will answer their questions. It is
expected that the chef is assigned based
on their field of expertise. The aim of the chat page is to ensure
that clients are served efficiently and
effectively.
Question
Design a registration page, login page, chat page and database
based on the scenario above.
Successful authentication should result in a chat page dynamically
designed based on the
requirements of the client. The client should be matched to the
appropriate chef. Kindly apply
JavaScript validation where necessary.
HTML Code of the Sample Registration Form:
<!DOCTYPE html>
<html lang="en"><head>
<meta charset="utf-8">
<title>JavaScript Form Validation using a sample registration
form</title>
<meta name="keywords" content="example, JavaScript Form
Validation, Sample registration form" />
<meta name="description" content="This document is an example of
JavaScript Form Validation using a sample registration form. "
/>
<link rel='stylesheet' href='js-form-validation.css'
type='text/css' />
<script
src="sample-registration-form-validation.js"></script>
</head>
<body onload="document.registration.userid.focus();">
<h1>Registration Form</h1>
Use tab keys to move from one input field to the next.
<form name='registration' onSubmit="return
formValidation();">
<ul>
<li><label for="userid">User
id:</label></li>
<li><input type="text" name="userid" size="12"
/></li>
<li><label
for="passid">Password:</label></li>
<li><input type="password" name="passid" size="12"
/></li>
<li><label
for="username">Name:</label></li>
<li><input type="text" name="username" size="50"
/></li>
<li><label
for="address">Address:</label></li>
<li><input type="text" name="address" size="50"
/></li>
<li><label
for="country">Country:</label></li>
<li><select name="country">
<option selected="" value="Default">(Please select a
country)</option>
<option value="AF">Australia</option>
<option value="AL">Canada</option>
<option value="DZ">India</option>
<option value="AS">Russia</option>
<option value="AD">USA</option>
</select></li>
<li><label for="zip">ZIP
Code:</label></li>
<li><input type="text" name="zip" /></li>
<li><label
for="email">Email:</label></li>
<li><input type="text" name="email" size="50"
/></li>
<li><label
id="gender">Sex:</label></li>
<li><input type="radio" name="msex" value="Male"
/><span>Male</span></li>
<li><input type="radio" name="fsex" value="Female"
/><span>Female</span></li>
<li><label>Language:</label></li>
<li><input type="checkbox" name="en" value="en" checked
/><span>English</span></li>
<li><input type="checkbox" name="nonen" value="noen"
/><span>Non English</span></li>
<li><label
for="desc">About:</label></li>
<li><textarea name="desc"
id="desc"></textarea></li>
<li><input type="submit" name="submit" value="Submit"
/></li>
</ul>
</form>
</body>
</html>
CSS Code of the Sample Registration Form:
h1 {
margin-left: 70px;
}
form li {
list-style: none;
margin-bottom: 5px;
}
form ul li label{
float: left;
clear: left;
width: 100px;
text-align: right;
margin-right: 10px;
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:14px;
}
form ul li input, select, span {
float: left;
margin-bottom: 10px;
}
form textarea {
float: left;
width: 350px;
height: 150px;
}
[type="submit"] {
clear: left;
margin: 20px 0 0 230px;
font-size:18px
}
p {
margin-left: 70px;
font-weight: bold;
}
JavaScript code for validation:
function formValidation()
{
var uid = document.registration.userid;
var passid = document.registration.passid;
var uname = document.registration.username;
var uadd = document.registration.address;
var ucountry = document.registration.country;
var uzip = document.registration.zip;
var uemail = document.registration.email;
var umsex = document.registration.msex;
var ufsex = document.registration.fsex;
if(userid_validation(uid,5,12))
{
if(passid_validation(passid,7,12))
{
if(allLetter(uname))
{
if(alphanumeric(uadd))
{
if(countryselect(ucountry))
{
if(allnumeric(uzip))
{
if(ValidateEmail(uemail))
{
if(validsex(umsex,ufsex))
{
}
}
}
}
}
}
}
}
return false;
}
JavaScript function for validating userid:
function userid_validation(uid,mx,my)
{
var uid_len = uid.value.length;
if (uid_len == 0 || uid_len >= my || uid_len < mx)
{
alert("User Id should not be empty / length be between "+mx+" to
"+my);
uid.focus();
return false;
}
return true;
}
JavaScript function for validating password:
function passid_validation(passid,mx,my)
{
var passid_len = passid.value.length;
if (passid_len == 0 ||passid_len >= my || passid_len <
mx)
{
alert("Password should not be empty / length be between "+mx+" to
"+my);
passid.focus();
return false;
}
return true;
}
JavaScript code for validating user name:
function allLetter(uname)
{
var letters = /^[A-Za-z]+$/;
if(uname.value.match(letters))
{
return true;
}
else
{
alert('Username must have alphabet characters only');
uname.focus();
return false;
}
}
JavaScript code for validating user address:
function alphanumeric(uadd)
{
var letters = /^[0-9a-zA-Z]+$/;
if(uadd.value.match(letters))
{
return true;
}
else
{
alert('User address must have alphanumeric characters only');
uadd.focus();
return false;
}
}