You are on page 1of 31

A

PROJECT REPORT
ON

'A WEBSITE ON FUNCTION HALL


DETAILS AND BOOKING STATUS'
A Dissertation submitted in partial fulfillment of the

Requirements for the award of degree of


BACHELOR OF TECHNOLOGY
In
COMPUTER SCIENCE AND ENGINEERING

Submitted by

Supriya Uppala(14B81A05S0)

G. Vamshi Sagar(14B81A05U1)

R. Raghu Rama Krishna(13B81A05C1)

Under the esteemed Guidanceof

Mr.K.Karthik

Assistant Professor
DECLARATION

We, the undersigned, declare that the mini project entitled A WEBSITE ON FUNCTION HALL DETAILS

AND BOOKING STATUS, being submitted in partial fulfillment for the award of Bachelor of Technology

Degree in Computer Science and Engineering, affiliated to Jawaharlal Nehru Technological University

Hyderabad, is the work carried out by us.

Signature

1) SUPRIYA UPPALA

14B81A05S0

2) G. VAMSHI SAGAR

14B81A05U1

3) R. RAGHU RAMA KRISHNA

13B81A05C1
A WEBSITE ON FUNCTION HALL DETAILS AND BOOKING
STATUS
Abstract:
It is a website which links up function halls and the customers. This helps the user to
know the details of the function halls according to the location and also to know the booking
status of the function hall on a particular date. We provide a registration for function halls. User
can enter the location and know the details of the function hall and contact them for any event
they wanted to celebrate. This website is a Mean Stack Application which is created by using
collection of JavaScript based technologies. MEAN is an acronym for MongoDB, ExpressJS,
AngularJS and NodeJS. A RESTful API is designed for this application through which it
manages client requests and server responses. The RESTful Web-Service API is widely used to
support interoperable machine-to-machine interaction over a network.

Prerequisites:
Html, css, javascript (front end)
Nodejs (backend)
MongoDB (Database)

Team:
Supriya Uppala 9908168102 , supriyau102@gmail.com, 14B81A05S0
G. Vamshi Sagar 9491629224 , gadde.vamshi2222@gmail.com, 14B81A05U1
R. Raghu Rama Krishna 9177200511, ragutlasraghu@gmail.com, 13B81A05C1

Guide
K Karthik

Asst. Prof.,

CSE dept.
TABLE OF CONTENTS

S.NO NAME OF THE CHAPTER PAGENO

INTRODUCTION
1 1.1 Overview
1.2 Introduction to technology used
1.3 Aim
1.4 Scope
1.5 Literature Survey

SYSTEM REQUIREMENT SPECIFICATION


2 2.1 Functional Requirements
2.2 Non Functional Requirements
2.3 Software Requirements
2.4 Hardware Requirements
SYSTEM ANALYSIS
3 3.1 Existing System
3.2 Proposed System
3.3 System Architecture
3.4 UML Diagrams
3.4.1 Usecase Diagram
3.4.2 Class Diagram
3.4.3 Activity Diagram
IMPLEMENTATION
4 4.1 Development Environment
4.2 User interface development
4.3 Client side development
4.4 Server side and database development
5 TESTING
CONCLUSION
FUTURE ENHANCEMENTS
REFERENCES
1. INTRODUCTION

1.1 Overview:
It is a website which links up function halls and the customers. This helps the user
to know the details of the function halls according to the location and also to know the booking
status of the function hall on a particular date. We provide a registration for function halls. User
can enter the location and know the details of the function hall and contact them for any event
they wanted to celebrate. This website is a Mean Stack Application which is created by using
collection of JavaScript based technologies. MEAN is an acronym for MongoDB, ExpressJS,
AngularJS and NodeJS. A RESTful API is designed for this application through which it
manages client requests and server responses. The RESTful Web-Service API is widely used to
support interoperable machine-to-machine interaction over a network.

1.2 Introduction to technology used:


The project is web development project. This is completely developed with MEAN
stack and RESTful API. The MEAN stack is a popular web development stack made up of MongoDB,
Express, AngularJS , and Node.js. MEAN has gained popularity because it allows developers to program
in JavaScript on both the client and the server. The MEAN stack enables a perfect harmony of JavaScript
Object Notation (JSON) development: MongoDB stores data in a JSON-like format, Express and Node.js
facilitate easy JSON query creation, and AngularJS allows the client to seamlessly send and receive
JSON documents.

MEAN is generally used to create browser-based web applications because AngularJS


(client-side) and Express (server-side) are both frameworks for web apps. Another compelling
use case for MEAN is the development of RESTful API servers. Creating RESTful API servers
has become an increasingly important and common development task, as applications
increasingly need to gracefully support a variety of end-user devices, such as mobile phones and
tablets.

REST stands for Representational State Transfer. (It is sometimes spelled "REST".) It
relies on a stateless, client-server, cacheable communications protocol -- and in virtually all

1
cases, the HTTP protocol is used. REST is an architecture style for designing networked
applications.

AngularJS , a client-side framework, is not a necessary component for creating an API


server. Material design CSS framework has been used to design the attractive template for the
website. MongoDB is the non relational and non sql database which stores information in the
form of JSON data is used as database in the backend or server side.

The application that is developed is mediator website between functionhalls and the naive
users that supports standard CRUD (Create, Read, Update, Delete) operations. First a RESTful
API server is created to act as an interface for querying and persisting data in the MongoDB
database. Then, the API server is leveraged to build an Angular-based web application that
provides an interface for end users.

1.3 Aim:

The main objective of this project is to create an attractive and secure user interface
between the function halls and users that helps to know the information about the function halls
and users.

1.4 Scope:

The project is applicable to any function halls which wants fast interaction with the users
and also who wants to advertise themselves and showcase their extra ordinary features to the
users or clients.

1.5 Literature Survey:

REST is the underlying architectural principle of the web. The amazing thing about the
web is the fact that clients (browsers) and servers can interact in complex ways without the client
knowing anything beforehand about the server and the resources it hosts. The key constraint is
that the server and client must both agree on the media used, which in the case of the web
is HTML.
An API that adheres to the principles of REST does not require the client to know
anything about the structure of the API. Rather, the server needs to provide whatever information

2
the client needs to interact with the service. An HTML form is an example of this: The server
specifies the location of the resource, and the required fields. The browser doesn't know in
advance where to submit the information, and it doesn't know in advance what information to
submit. Both forms of information are entirely supplied by the server.
RESTful application programming interface (API) for a cloud based digital television
(DTV) content provider. The system described is responsible for the acquisition of data from the
digital television transport stream, retrieving of the related content from the Internet and its
exposure to the clients. The focus of the paper is on the REST architectural style and how it
affects the overall design of the system. This paper was published in the year 2014 at IEEE
fourth international conference.
As a web application evolves, it tends to adopt a mixture of different ways of storing
persistent data. This often discourages users from upgrading from an older version to a newer
version if the data schemas are different. To tackle this problem, RESTful API-based data
migration method has been developed for embedding ETL (extract-translate-load) features into
web applications. The proposed RESTful API-based method has been applied to migrating data
for ezScrum, a web application for Scrum support. The case study of ezScrum was published in
the IEEE paper 2016.
Most of the existing event management websites, booking websites or functionhall
websites are PHP based and are not single page applications.
Now this website which is developed is a RESTful API in which data is migrated through
URL in the form JSON object and request and responses are obtained in the form of JSON data.
It is a single page application which makes use of MEAN stack for it's implementation.

3
2.SYSTEM REQUIREMENTS SPECIFICATION
2.1 Functional Requirements:
Authentication:
Providing access for the users to retrieve the information in the database.
Authorization:
Only the authenticated user who has valid login credentials are allowed to access
the information in the database.
Functionality:
Functional requirements of the proposed system or a web application are 1)The
website should provide an information about all the function halls to the common people
who wants to celebrate on any occasion. 2) It should provide the list of the function halls
according to the location entered by the user. 3) It should provide the information about
the booking status of a function hall on a particular date. 4) Users must be able to register
and login into our website. 5)Function halls must be able to register and login into our
website. 6) Registered function halls must be able to enter the information about its
booked status on a particular date.
Security:
It allows only the authorized users to modify the information in the database. It
doesn't give an access to the database for the users. It allows only the authorized function
halls to enter the date and booked status on that particular date.
2.2. Non functional requirements:
Accessibility:
As it is a website, it is easy to access for everyone. Every common user who have
internet can easily access the website and see the details of all the function halls.
Availability:
Details of the function halls in the website are available free of cost for any user
who visits the site.
Usability:
It is very easy to use as user interface is very simple.

4
2.3. Software Requirements:
1.Any OS i.e., Windows, MAC, Linux,etc
2.A web browser(Google chrome is recommended)
3.Nodejs : javascript runtime built on chrome's javascript engine.
4.Sublime text or any text editor.
5.Mongodb database and mongdb server.
2.4. Hardware Requirements:
1. Processor: Pentium based systems with a minimum of p4
2. RAM: 1GB
3. Optimal network specifications (>512 Kbps)

5
3. SYSTEM ANALYSIS AND DESIGN

3.1 Existing System:


There are many websites for function halls. All those websites are separately dedicated to
only one function hall. There is no single platform available for the users to know the details
about the function halls according to the location of their choice. Even if they are there, they are
not user friendly. All the existing systems doesn't have the option of seeing whether the function
hall is available vacant on a particular date.
3.2 Proposed System:
The website which we are building as a mini project has a main advantage that it is a
single page application which is very user friendly. The main feature of this website is location
based search for function halls . It also has a feature that user can see all the details of the
function halls and booking status of a function hall on a particular date. The front end design and
user interface adds creative insight to the website.
3.3 System Architecture:

fig3.3
Here, in fig(3.3), view contains all the web pages on which data displayed such as home
page, login page, register page, function hall login and register pages , profile page, admin page,
function hall booked status page.
Controller contains all the angular js and nodejs code which is used to retrieve data from
restful api and display it on the webpages.
6
Model contains restful api which gets data from MongoDB database or any api.
3.4. UML diagrams:
UML is a notation that resulted from the unification. Of Object Modeling technique and
Object Oriented Software technology. UML has been designed for broad range of application.
3.4.1. Use case diagram:
Use cases are used during requirement elicitation and analysis to represent the
functionality of the system. Use cases focus on the behavior of the system from the external
point of view. The actor is outside the boundary of the system whereas the use cases are inside
the boundary of the system (fig3.4.1).

fig3.4.1
3.4.2. Class diagram:

A class diagram in the Unified Modeling Language (UML) is a type of static structure
diagram that describes the structure of a system by showing the system's classes, theirattributes,
operations (or methods), and the relationships among objects(fig 3.4.2).

7
fig 3.4.2

3.4.3. Activity diagram:

An Activity diagram describes a system in terms of activities. Activities are states that
represent the execution of a set of operations. Activity diagrams are similar to flowchart diagram
and data flow.(Fig3.4.3).

fig 3.4.3

8
4. IMPLEMENTATION
4.1. Development Environment
Web applications are applications that use various Web technologies as building blocks.
HTML, CSS, JavaScript and Angular will be used to build the front directly interacting with
users. As users interact with the Web application they will be generating a sequence of HTTP
requests directed at a server built on Node.js and Express, a popular Node.js library. The server
will handle the requests and use Mongoose (another very popular Node.js library) to store and
retrieve a data model from MongoDB, a NoSQL database. The front end, web services, and data
access and storage are all hosted and/or configured in a Node.js runtime instance. This module
covers Node.js installation and configuration.

Node.js is a platform built on Chrome's JavaScript runtime for easily building fast,
scalable network applications. In this video, we will go through the steps to set up Node.js in
your machine.

Node.js is installed from the link https://nodejs.org/en/. After installing the node.js it
must be configured.

The installer will add several executables to your path of which two will be used
extensively throughout the project: node and npm. The node executable is the runtime
environment that will allow executing JavaScript programs at the console. The npm executable,
which stands for Node Package Manager, will allow installing additional Node.js libraries that
extend the functionality of Node.js. Once installation is done test whether Node.js has been
installed by typing the node command in your terminal. Node.js should give you a prompt for
more commands.

NPM Node Package Manager :

Like many software development frameworks, they are not terribly interesting on their
own. Where they typically shine is the extensive set of libraries that extend the features of the
framework. Node.js has a very active community of developers creating an ever growing
collection of open source libraries that have made the framework very popular. These libraries
can easily be installed through the use of the npm command or Node Package Manager. Npm

9
downloads packages from a repository and installs them locally on your machine in the form of
modules. The repository is hosted at npmjs.com. L

Creating a Node.js Project:

Create a directory and open command line from that directory. Now create and initialize
node.js project using npm init command.

> npm init

This will start a command line set of questions about the project. You can name the
project, set the author, and set git repositories. It is ok to use the default values. The default name
will be the name of the enclosing directory. The result will be a file called package.json that
describes the project. Here's a sample package.json:

{
"name": "Functionhall",
"version": "1.0.0",
"description": "Simple PassportJS MEAN Web App",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Supriya",
"license": "ISC"
}
For installing the packages, we use the following command in the command line.
npm install package-name --save

10
4.2 User interface development

User interface is developed using a framework called "AngularJS Material Design". First
all the front end web pages are designed using HTML, CSS and Javascript and Material Design.
The project needs html files for web pages such as "index page, home page, login page,

registration page, profile page, function hall login page, function hall registration page, admin
page, function hall page, function hall status page, function hall details page, status view page".

All the above mentioned web pages has their own significance. Home page is the first
page visible to the user when a website is visited. From home page, user can navigate to any
page.

There are three categories of users: Normal user, Function hall user and Admin user.
Normal user can register and login to the website. He can view the function halls according to
the location from the home page. He can visit the page of each function hall and see the
information about the function hall and see the booking status of the function hall on a particular
date.

Function hall user can register and login into the website. The authenticated function hall
user can modify or enter his details into the website from function hall details page. He can enter
the booking status of the particular function hall on a particular date from function hall status
page.

Admin user can login to the website. All the CRUD operations are controlled by admin
user from admin page. Admin user can create, remove, read, update and delete any user from the
database from admin page.

4.3. Client side development

Up to this point we have been creating static content, focusing on how to layout and
organize a Web page. Much of the appealing aspects of the Web in general is its ability to interact
with us and respond appropriately as we engage in dialogs with appealing user interfaces. To
achieve dynamic interfaces we will explore several programmatic techniques that all rely on an

11
underlying common language: JavaScript. AngularJS enforces several best practices and design
patterns that have already proven successful in enterprise application development.

For every static page created, an angular controller is created to handle dynamic content
of the website. For every static page, a controller.js file is created and any client side interaction
code is written in the controller.

Angular module contains code as the following example:

(function() {

angular.module("PassportApp", ["ngRoute",'ngMaterial','ngAutocomplete','ngStorage']);

})();

Each controller contains the code as the following:


(function()

angular

.module("PassportApp")

.controller("HomeController", HomeController);

function HomeController($scope, $q, $http, UserService, $timeout, $location, $rootScope,


$localStorage )

}();

In the controller any client side code, modules or functions can be included such client
side validations of the html form.

In the front end, all the function halls are declared using AngularJS ng-repeat as follows.

<div ng-repeat="user in users || filter: location>

<!-- function hall -->

</div>

12
4.4. Server side development

Up to this point we have been working mostly on the client, on HTML, CSS, and
JavaScript running and rendered dynamically on a browser. We have been using a Node.js server
mostly to just host and serve this content when requested from a browser. This module will
expand on many more capabilities of Node.js as middle tier software.

The angularJS client side is connected to the server side by declaring all the functions in
client.js file. In the all the files along with the remote urls to which data is migrated are declared
in the functions as follows.

(function(){

angular

.module("PassportApp")

.factory("UserService", UserService);

function UserService($http) {

var api = {

createUser: createUser

};

return api;

function createUser(user) {

return $http.post('/api/user', user);

}();

Server side code is present in the server.js file. The remote-url attribute refers to a server
side Web service endpoint where the text you type will be sent for searching. The Web service
will respond with an array of objects that match the query. The attribute title-field configures the

13
field in the object used to render as one of the options in the autocomplete. When the user selects
the option, the selection is available in the $scope in a variable referred to by selected-object

Create a Web service to handle the search that matches the remote-url.
app.get ("/api/developer/search/:username", searchDeveloper);

Delegate the search to a model. The model will respond with an array that matches the query.
function searchDeveloper(req, res) {

var username = req.params.username;

developerModel

.searchDeveloper(username)

.then(

function(developers){

res.json(developers);

},

function(err){

res.status(400).send(err);

Database used here is MongoDB


MongoDB is an open-source document database and leading NoSQL database.
MongoDB is written in C++. A single MongoDB server typically has multiple databases.
Collection is a group of MongoDB documents. It is the equivalent of an RDBMS table.
A collection exists within a single database. Collections do not enforce a schema. Documents
within a collection can have different fields. Typically, all documents in a collection are of
similar or related purpose. A document is a set of key-value pairs. Documents have dynamic
schema. Dynamic schema means that documents in the same collection do not need to have the
same set of fields or structure, and common fields in a collection's documents may hold different
types of data.

14
Example of document in MongoDB: Data is stored in the form of key value pairs i.e., JSON data
{

"_id" : ObjectId("597c5fd1f216740f742da3bc"),

"username" : "sssss",

"password" : "$2a$10$pt5y.O1NQ03RbdtA8FAIl.nc2uHG8vZh.diXsdUbpCBGgn2FlAQ

/S",

"imgSrc" : "uploads/",

"roles" : [

"admin"

],

"dateList" : [ ],

"__v" : 0

"_id" : ObjectId("597c600d4caf2f222c40b362"),

"roles" : [ ],

"dateList" : [ ],

Nodejs server is started by writing the following code. The website will run in the port
3000 in the localhost.

// All the variables are declared to require all the dependencies

var express = require('express');

var app = express();

var bodyParser = require('body-parser');

var passport = require('passport');

var cookieParser = require('cookie-parser');

var session = require('express-session');

var mongoose = require('mongoose');

15
var multer = require('multer');

var path = require('path');

var bcrypt = require("bcrypt-nodejs");

// The database connection is given by using the mongoose package. The name of the database is
funhall here.

mongoose.connect('mongodb://localhost/funhall');

//The below statements are used for using the packages by app.use()
app.use(bodyParser.json());

app.use(bodyParser.urlencoded({ extended: true }));

multer();

// Session is started by below statements


app.use(session({

secret: 'this is the secret',

resave: true,

saveUninitialized: true

}));

app.use(cookieParser());

app.use(passport.initialize());

app.use(passport.session());

app.use(express.static(__dirname + '/public'));

// For including the other app.js file in which angular directive is present which connects
serverside and client side

require("./app/app.js")(app);

// The below statement is for running the server in localhost with port no 3000
app.listen(3000);

Schema of the data stored in the database is as follows:


var UserSchema = new mongoose.Schema(

16
{

username: { type : String},

password: String,

google: {

id: String,

token: String

},

facebook: {

id: String,

token: String

},

firstname: String,

lastname: String,

email: String,

funname: { type : String},

password: String,

ownername: String,

managername: String,

contactno: String,

address: String,

imgSrc: String,

dateList:[{

hdate:Date,

hstatus:{type:Boolean,Default:false}

}],

area: String,

parkingarea: String,

stagesize: String,

noofseats: String,

17
catering:{type:Boolean,Default:false},

music:{type:Boolean,Default:false},

orchestra:{type:Boolean,Default:false},

decoration:{type:Boolean,Default:false},

photography:{type:Boolean,Default:false},

roles: [String]

}, {collection: "user"});

The above schema is declared in the model.server.js file. In this file all the in-built is
MongoDB function calls in different functions that are to be implemented in the serverside.

The in-built MongoDB functions include

UserModel.findOne();

UserModel.update();

UserModel.remove();

UserModel.create();

UserModel.findById();

The function findOne() is used to find unique document in the collection of


MongoDB.The function update() is used to update the document. The function remove() is used
to delete the document. The function create() is used to create new document. The function
findById() is used to find unique document by id in the collection of the MongoDB database.

Developing the serverside code which connects the database with the client side:

var passport = require('passport');

var LocalStrategy = require('passport-local').Strategy;

The above packages i.e., passport and localstrategy must be installed and are needed for
the secured login registration system.

The functions in the serverside can be exported using exports object as follows .

module.exports = function(app) {

18
var userModel = require("../../models/user/user.model.server.js")();

//All the urls mentioned here are used to keep the data which migrates between the database and
the front end user interface
var auth = authorized;

app.post ('/api/login', passport.authenticate('local'), login);

app.post ('/api/logout', logout);

app.post ('/api/register', register);

app.post ('/api/user', auth, createUser);

app.get ('/api/loggedin', loggedin);

app.get ('/api/user', auth, findAllUsers);

app.get ('/api/funuser', findAllFunUsers);

app.put ('/api/user/:id', auth, updateUser);

app.delete('/api/user/:id', auth, deleteUser);

app.put ('/api/funuser/:id', auth, statusChange);

app.put ('/api/funuser/details/:id', auth, updateDetails);

function findAllUsers(req, res) {

if(isAdmin(req.user)) {

userModel

.findAllUsers()

.then(

function (users) {

res.json(users);

},

function () {

res.status(400).send(err);

);

} else {

res.status(403);

19
}

For login registration system, passport.js and localstrategy packages is used as follows
passport.use(new LocalStrategy(localStrategy));

passport.serializeUser(serializeUser);

passport.deserializeUser(deserializeUser);

// LocalStrategy is used for verification of username and password in login registration system.
This is called everytime when login function is called.

function localStrategy(username, password, done) {

console.log("in local");

userModel

.findUserByUsername(username)

.then(

function(user){

if(user && bcryptjs.compareSync(password, user.password)) {

user.password = password;

console.log("Local strategy"+user);

return done(null, user);

} else {

return done(null, false);

} );

20
}

function serializeUser(user, done) {

done(null, user);

function deserializeUser(user, done) {

userModel

.findUserById(user._id)

.then(

function(user){

done(null, user);

},

function(err){

done(err, null);

);

Location based search:


For location based search google maps api is used to retrieve the location. A search is
made according to the address stored in the database.

Include google maps api:

21
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?
libraries=places&sensor=false"></script>

For displaying the locations in the dropdown, include angular directive ngAutocomplete

<script src="js/ngAutocomplete.js"></script>

Search box is designed for entering the location

<div class=" t">

<i class="material-icons" style="font-


size:34px;color:#b71c1c;padding:5px;">my_location</i>

<input

type="text"

style="border:none;position:relative;left:4px;bottom:10px;height:90%;width:64%"

placeholder="Enter your preferred function hall location!"

id="Autocomplete"

ng-autocomplete="result2"

details="details2"

options="options2"

>

<md-button style="background-
color:#b71c1c;color:white;position:relative;left:70%;bottom:131%;height:53px;width:30%;border-
radius:0px;" ng-click="findfuns()">Search</md-button>

</div>

</div>

The location entered in the search box is filtered using ng-repeat and function halls are displayed
according to the location

<div class="animate-repeat" ng-repeat="user in users | filter: {address:result2}">

//Function hall content.

22
</div>

Now Function halls are retrieved according to the location from the server side and information
is displayed on the browser on which user can also see the booking status.

23
5. TESTING
LOGIN:

ID# Test Condition Expected output Observed output Pass/Fail


1 Username: correct Login success and redirect Error: Enter correct Fail
Password: wrong to profile page username and password
2 Username: wrong Login success and redirect Error: Enter correct Fail
Password: correct to profile page username and password
3 Username: Error: This is required Error: This is required Pass
Password: Error: This is required Error: This is required
4 Username: correct Login success and redirect Login success and redirect Pass
Password: correct to profile page to profile page

FUNCTION HALL REGISTRATION:

ID# Test Condition Expected output Observed output Pass/Fail


1 All the fields are empty Error: Enter all the fields Error: Enter all the fields Pass
2 Any field/fields is Error: This is required Error: This is required Pass
empty
3 Two passwords are not Register successfully and Error: Your passwords Fail
equal go to the profile page don't match

4 Username whose length Register successfully and Error: There must be at Fail
is less than 4 go to the profile page least 4 characters in
username!!
5 Password whose length Register successfully and Error: The length of the Fail
is less than 6 and go to the profile page password must be between
greater than 8 6 and 8 characters!!
6 Owner name whose Register successfully and Error: There must be at Fail
length is less than or go to the profile page least 4 characters in owner
equal to 4 name!!
7 Phone number whose Register successfully and Error: Enter the correct Fail
length is not equal to 10 go to the profile page phone number!!
8 All the details are not Error: Registration Error: Registration Pass
entered correctly unsuccessful!! unsuccessful!!

24
9 All the details are Register successfully and Register successfully and Pass
entered correctly go to the profile page go to the profile page
10 Password does not Register successfully and Error: Your password must Fail
contain alphabets and go to the profile page be alpha-numeric and
numbers should include one
symbol!!.
11 Phone number Register successfully and Error: Enter the correct Fail
containing than go to the profile page phone number!!
numbers
12 Email : invalid Register successfully and Error: Enter the correct Fail
go to the profile page email!!
13 All the fields are empty Error: Fill all the Required Error: Fill all the Required Pass
fields!! fields!!

USER REGISTRATION:

ID# Test Condition Expected output Observed output Pass/Fail


1 All the fields are empty Error: Enter all the fields Error: Enter all the fields Pass
2 Any field/fields is Error: This is required Error: This is required Pass
empty
3 Two passwords are not Register successfully and Error: Your passwords Fail
equal go to profile page don't match
4 All the fields are empty Error: Fill all the Required Error: Fill all the Required Pass
fields!! fields!!
5 Username whose length Register successfully and Error: There must be at Fail
is less than 4 go to the profile page least 4 characters in
username!!
6 Password whose length Register successfully and Error: The length of the Fail
is less than 6 and go to the profile page password must be between
greater than 8 6 and 8 characters!!
7 Password does not Register successfully and Error: Your password must Fail
contain alphabets and go to the profile page be alpha-numeric and
numbers should include one
symbol!!.

25
LOCATION BASED SEARCH:

If no registered function hall in a particular location, it will display nothing

If there is a registered function hall at particular location

26
CONCLUSION:

This is a small website which gives a chance for the user or commoner to know the
details of the function halls at a particular location. It also helps the function halls to
communicate with the users online and advertise themselves.

FUTURE ENHANCEMENTS:

The website which is developed is just providing the details of the function halls now.
But in future, online bookings for function halls can be provided in the website and it can be
hosted officially.

REFERENCES:

http://portal-cs5610online.rhcloud.com/portal/index.html#/course/syllabus
https://nodejs.org/en/
https://github.com/nodejs
https://material.angularjs.org/latest/

27

You might also like