ProjectReport (305) VPMS
ProjectReport (305) VPMS
ProjectReport (305) VPMS
SUBMITTED TO
UNIVERSITY OF MUMBAI
SUBMITTED BY
HRISHIKESH SUNIL BHOSLE
GUIDED BY
PROF. SARAVANAN REDDY
T.Y.BSc(INFORMATION TECHNOLOGY)
YEAR 2021-2022
CHETANA’S
HAZARIMAL SOMANI COLLEGE OF COMMERCE & ECONOMICS
SMT. KUSUMTAI CHAUDHARI COLLEGE OF ARTS,
SELF FINANCING COURSES,
BANDRA (EAST),
MUMBAI-400051
PROFORMA
Signature of Coordinator
Date: …………………….
VEHICLE PARKING MANAGEMENT
SYSTEM
A PROJECT REPORT
Submitted in partial fulfillment of the
Requirements for the award of the Degree of
CERTIFICATE
This is to certify that the project entitled, “Vehicle Parking Management System”, is the
bonafide work of Hrishikesh Sunil Bhosle bearing Seat. No: (305) submitted in partial
fulfillment of the requirements of the award of degree of BACHELOR OF SCIENCE in
INFORMATION TECHNOLOGY from University of Mumbai.
External Examiner
We are sincerely thankful to the Coordinator of BSc.IT for his active involvement,
valuable suggestions and constant support during the preparation of the project. Without their
diligent and hard work, it would have not been possible for us to complete the project in record
time.
We also owe a debt of gratitude to all those who helped us in the development of this
project. We our also thankful to friends for helping us out in making this project a big success.
This project imparted a great deal of practical experience, which will be helpful for us in the
near future.
(305)
DECLARATION
I hereby declare that Project entitled, “VEHICLE PARKING MANAGEMENT
SYSTEM ” done at CHETANA COLLEGE, has not been in any case duplicated to submit
to any other university for award of any degree. To best of my knowledge other than me, no
one has submitted to any other university.
Vehicle parking system for managing the records of the incoming and outgoing
vehicles in an parking house.
It’s an easy for Admin to retrieve the data if the vehicle has been visited through
number he can get that data.
Now a days in many public places such as mails, multiplex system, hospitals, offices, market
areas there is a crucial problem of vehicle parking. The vehicle parking area has many slots for
parking vehicle. So to park a vehicle one has to look for all the lanes. Moreover this involves a
lot of manual labour and investment. Instead of vehicle caught in towing the vehicle can park
on safe and security with low cost.
Parking control system has been generated in such a way that it is filled with many
secure devices such as, parking control gates, toll gates, time and attendance machine, vehicle
counting system etc. these features are hereby very necessary nowadays to secure your vehicle
and also to evaluate the fee structure for every vehicles entry and exit.
BACKGROUND
Vehicle Parking Management System can be used online. With the development of
Internet, Vehicle Parking Management System has entered into people’s daily lives and
brought in great convenience. In my Vehicle Parking Management System, users can get
manage the entry & exit of their parked vehicles. This system allows the users to do all this
things online by themself .
OBJECTIVES
The objective of this project is to built a vehicle parking management system that
enables the time management and control of vehicles using number plate recognition. The
system that will track the entry and exit of cars, maintain a listing of cars within the parking
lot, and determine if the parking lot is full or not. It will determine the cost of per vehicle
according to their time consumption.
PURPOSE AND SCOPE
In the modern age. Many people have vehicles. Vehicle is now a basic need.
Everyplace is under the process of urbanization. There are many corporate offices and
shopping centers etc. There are many recreational places where people used to go for
refreshment. So, all these places need a parking space where people can park their vehicles
safely and easily. Every parking area needs a system that records the detail of vehicles to give
the facility. These systems might be computerized or non-computerized. With the help of
computerized system we can deliver a good service to customer who wants to park their
vehicle into the any organization’s premises.
Vehicle parking system is an automatic system which delivers data processing in
very high speed in systematic manner. Parking is a growing need of the time. Development of
this system is very useful in this area of field. We can sell this system to any organization. By
using our system they can maintain records very easily. Our system covers the every area of
parking management. In coming future there will be excessive need of Vehicle parking
system.
Chapter 2
System Analysis
System analysis is conducted for the propose of studying a system or its parts in order
to identify its objectives. It is a problem solving technique that improves the system and
ensures that all the components of the system work efficiently to accomplish their purpose.
Analysis specifies what the system should do.
• In the existing system we can see that some supervision is required for the parking system
and it not fully automated.
• Moreover, the relative analysis of the data is structural to the implementation of the parking
procedure.
• Nowadays, in this busy world it’s really hard for a person to find a spot for parking. The
current parking system doesn’t give the user a specified parking slot inside the area.
• Parking in general in a long and time consuming process and we hope to provide a solution to
alleviate this problem.
Disadvantages
The issue of finding a parking slot in commercial areas that consumes a lot of time.
Advantages
This system can also be customized to include a bespoke loyalty program, whereby repeat
customers can be rewarded. By creating a customer profile that collects data on buying
patterns and behavior, a reward system can be created to retain customers.
2.3 Requirement Analysis
Problem Definition
The main objective of Vehicle Parking Management System is to provide online support
to park the vehicle.
Vehicle owners used to search for the empty parking slots with the vehicle which was
time consuming.
Keeping the objective in mind we created the Vehicle Parking Management System and
solved the parking problems.
Requirement Specification
All possible requirement of the system to be developed are captured in this phase.
a. Good Internet Connection.
b. Laptop / Mobile phones
c. Required place for implementation of system
d. Basic knowledge of computer or mobile phones.
Information Gathering
Planning
Dsign
Coding
Testing
3.1 Architecture:
A system architecture or systems architecture is the conceptual model that defines the
structure, behavior and more views of a system.
Modules
• Dashboard:
In this section, admin can briefly view the number of vehicle entries in a particular period.
• Category:
In this section, admin can manage category (add/update). • Add Vehicle: In this section,
admin add vehicle which is going to park.
• Manage Vehicle:
In this section, admin can manage incoming and outgoing vehicle and admin can also add
parking charges and his/her remarks.
• Reports:
In this section admin can generate vehicle entries reports between two dates
• Search:
In this section, admin can search a particular vehicle by parking number.
• Admin can also update his profile, change the password and recover the password.
3.2 DATA FLOW DIAGRAM
A data flow is a graphical technique that describes information flow and transforms
that are applied as data move from input to output. The DFD is also known as data flow
graphs or bubble chart. The DFD is used to represent increasing information flow details.
Also DFD can be stated as the starting point of the design phase that functionality
decomposes the requirement specification down to the lowest level of detail.
A level zero is also called the fundamental system model or context level DFD that
represent the entire software elements as a single bubble with input and output data
indicated by incoming and outgoing arrows respectively. Additional process and
information flow parts are represented in the next level, i.e., level1 DFD. Each of the
processes represented at level1 will be further represented into sub-functions in the next
level
Data flow diagram is a mean of representing a system at any level of detail with a
graphic network of symbols showing data flows, data stores, data processes and data
sources. The purpose of data flow diagram is to provide semantic bridge between users and
system developers. The diagram is the basis of structured system analysis. A DFD describes
what data flows rather than how they are processed, so it does not depend on hardware,
software, data structure, or file organization.
• Entities
External entities represent the sources of data that enter the system or the recipients of data
that leave the system.
• Process
• Database
A data shows a flow of information from its source to its destination. A line represents a
dataflow, with arrow heads showing the direction of flow.
Level-0
Level-1
3.3 ER DIAGRAM
In software engineering, an entity relationship model is an abstract and conceptual
representation of data. Entity relationship modeling is a database modeling method, used to
produce a type of conceptual schema or semantic data model of a system, often a relational
database, and its requirements a top-down fashion. Diagrams created by this process are
called entity relationship diagrams, ER diagrams for ERDs.
The result is a series of diagrams that represent the business activities in a way that is
clear and easy to communicate. A business model comprises one or more data flow
diagrams. Initially a context diagram is drawn, which is simple representation of the entire
system under investigation.
3.4.DATABASE DESIGN
Table
Category
Parking seat
Table User
Table Vehicle
Table user
Table Vehicle
Table Category
Chapter 4
Implementation and Testing
4.1 Code
index.jsp
<!doctype html>
<html class="no-js" lang="">
<head>
<title>VPMS-Login Page</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css
">
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></sc
ript>
<script
src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min
.js"></script>
<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"><
/script>
<!-- <script type="text/javascript"
src="https://cdn.jsdelivr.net/html5shiv/3.7.3/html5shiv.min.js"></script> -->
</head>
<body style="background-image: url(images/3.jpg); background-size: cover;">
<nav class="navbar navbar-expand-sm bg-dark navbar-dark">
<a class="navbar-brand" href="index.jsp">Vehicle Parking
Management System</a>
<ul class="navbar-nav">
<li class="nav-item"><a class="nav-link" href="user-
login.jsp">User
Login</a></li>
<li class="nav-item"><a class="nav-link" href="admin-
login.jsp">Admin
Login</a></li>
</ul>
</nav>
</body>
</html>
admin-login.jsp
<title>VPMS-Login Page</title>
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/normalize.min.css">
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.c
ss">
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/css/font-
awesome.min.css">
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/gh/lykmapipo/themify-
[email protected]/css/themify-icons.css">
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/pe-icon-7-
stroke/dist/pe-icon-7-stroke.min.css">
<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.2.0/css/flag-
icon.min.css">
<link rel="stylesheet" href="assets/css/cs-skin-elastic.css">
<link rel="stylesheet" href="assets/css/style.css">
<link
href='https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,800'
rel='stylesheet' type='text/css'>
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js"></script
>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js">
</script>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js"
></script>
<script
src="https://cdn.jsdelivr.net/npm/jquery-match-
[email protected]/dist/jquery.matchHeight.min.js"></script>
<script src="assets/js/main.js"></script>
</body>
</html>
User-login.jsp
<!doctype html>
<html class="no-js" lang="">
<head>
<title>VPMS-Login Page</title>
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/normalize.min.css">
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.c
ss">
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/css/font-
awesome.min.css">
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/gh/lykmapipo/themify-
[email protected]/css/themify-icons.css">
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/pe-icon-7-
stroke/dist/pe-icon-7-stroke.min.css">
<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.2.0/css/flag-
icon.min.css">
<link rel="stylesheet" href="assets/css/cs-skin-elastic.css">
<link rel="stylesheet" href="assets/css/style.css">
<link
href='https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,800'
rel='stylesheet' type='text/css'>
session.removeAttribute("message");
%>
<h6>
<center>Invalid credential, try
again.</center>
</h6>
<%
}
%>
</p>
<form action="UserLogin" method="post">
<div class="form-group">
<label>User Name</label> <input
class="form-control" type="text"
placeholder="Username"
required="true" name="username">
</div>
<div class="form-group">
<label>Password</label> <input
type="password"
class="form-control"
name="password" placeholder="Password"
required="true">
</div>
<div>
<label class="pull-left"><a
href="index.jsp">Home
Page</a></label> <label
class="pull-right"><a
href="user-
register.jsp">Click Here To Register</a></label>
</div>
<button type="submit" name="login"
class="btn btn-danger btn-flat m-b-
30 m-t-30">Sign in</button>
</form>
</div>
</div>
</div>
</div>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js"></script
>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js">
</script>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js"
></script>
<script
src="https://cdn.jsdelivr.net/npm/jquery-match-
[email protected]/dist/jquery.matchHeight.min.js"></script>
<script src="assets/js/main.js"></script>
</body>
</html>
dashboard.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ page import="com.connection.*"%>
<%@ page import="java.sql.*"%>
<!doctype html>
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/normalize.min.css">
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.c
ss">
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/css/font-
awesome.min.css">
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/gh/lykmapipo/themify-
[email protected]/css/themify-icons.css">
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/pe-icon-7-
stroke/dist/pe-icon-7-stroke.min.css">
<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.2.0/css/flag-
icon.min.css">
<link rel="stylesheet" href="assets/css/cs-skin-elastic.css">
<link rel="stylesheet" href="assets/css/style.css">
<!-- <script type="text/javascript"
src="https://cdn.jsdelivr.net/html5shiv/3.7.3/html5shiv.min.js"></script> -->
<link
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/chartist.min.css"
rel="stylesheet">
<link
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/jqvmap.min.css"
rel="stylesheet">
<link
href="https://cdn.jsdelivr.net/npm/[email protected]/css/weather-
icons.css"
rel="stylesheet" />
<link
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/fullcalendar.min
.css"
rel="stylesheet" />
<style>
#weatherWidget .currentDesc {
color: #ffffff !important;
}
.traffic-chart {
min-height: 335px;
}
#flotPie1 {
height: 150px;
}
#flotPie1 td {
padding: 3px;
}
#flotPie1 table {
top: 20px !important;
right: -10px !important;
}
.chart-container {
display: table;
min-width: 270px;
text-align: left;
padding-top: 10px;
padding-bottom: 10px;
}
#flotLine5 {
height: 105px;
}
#flotBarChart {
height: 150px;
}
#cellPaiChart {
height: 160px;
}
</style>
</head>
<body>
<%
if (session.getAttribute("uname") != null &&
session.getAttribute("uname") != "") {
%>
<jsp:include page="includes/sidebar.jsp"></jsp:include>
<jsp:include page="includes/header.jsp"></jsp:include>
count_lastsevendays_vehentries = rst.getInt(1);
}
%>
<div class="card">
<div class="card-body">
<div class="stat-widget-five">
<div class="stat-icon dib
flat-color-3">
<i class="pe-7s-
car"></i>
</div>
<div class="stat-content">
<div class="text-left
dib">
<div
class="stat-text">
<span
class="count"> <%=count_lastsevendays_vehentries%>
</span>
</div>
<div
class="stat-heading">Last 7 days Vehicle Entries</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="card">
<div class="card-body">
<div class="stat-widget-five">
<div class="stat-icon dib
flat-color-4">
<i class="pe-7s-
car"></i>
</div>
<div class="stat-content">
<div class="text-left
dib">
<div
class="stat-text">
<span
class="count"> <%=count_total_vehentries%>
</span>
</div>
<div
class="stat-heading">Total Vehicle Entries</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-6 col-md-6">
<%
int booking_seats = 0;
Statement bookingstmt =
con.createStatement();
ResultSet bookingrst =
allstmt.executeQuery("select count(*) from tblvehicle where status=''");
while (bookingrst.next()) {
booking_seats =
bookingrst.getInt(1);
}
%>
<div class="card">
<div class="card-body">
<div class="stat-widget-five">
<div class="stat-icon dib
flat-color-4">
<i class="pe-7s-
car"></i>
</div>
<div class="stat-content">
<div class="text-left
dib">
<div
class="stat-text">
<span
class="count"> <%=booking_seats%>
</span>
</div>
<div
class="stat-heading">Total Bookings</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-6 col-md-6">
<%
int ParingSeatCapactiy=0;
Statement ParingCapactiyStmt =
con.createStatement();
ResultSet ParingCapactiyrst =
allstmt.executeQuery("select * from tblparkingseatcapacity");
while (ParingCapactiyrst.next()) {
ParingSeatCapactiy =
ParingCapactiyrst.getInt(1);
}
%>
<div class="card">
<div class="card-body">
<div class="stat-widget-five">
<div class="stat-icon dib
flat-color-4">
<i class="pe-7s-
car"></i>
</div>
<div class="stat-content">
<div class="text-left
dib">
<div
class="stat-text">
<span
class="count"> <%=ParingSeatCapactiy%>
</span>
</div>
<div
class="stat-heading">Parking Seats Capacity</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- /Widgets -->
</div>
<!-- .animated -->
</div>
<!-- /.content -->
<div class="clearfix"></div>
<!-- Footer -->
<jsp:include page="includes/footer.jsp"></jsp:include>
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js"></script
>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js">
</script>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js"
></script>
<script
src="https://cdn.jsdelivr.net/npm/jquery-match-
[email protected]/dist/jquery.matchHeight.min.js"></script>
<script src="assets/js/main.js"></script>
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/Chart.bundle.min.js">
</script>
<!--Chartist Chart-->
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/chartist.min.js"></s
cript>
<script
src="https://cdn.jsdelivr.net/npm/chartist-plugin-
[email protected]/chartist-plugin-legend.min.js"></script>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/jquery.flot.min.js"></s
cript>
<script
src="https://cdn.jsdelivr.net/npm/flot-
[email protected]/src/jquery.flot.pie.min.js"></script>
<script
src="https://cdn.jsdelivr.net/npm/flot-
[email protected]/js/jquery.flot.spline.min.js"></script>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/jquery.simpleWeather.
min.js"></script>
<script src="assets/js/init/weather-init.js"></script>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/moment.min.js"></script>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/fullcalendar.min.
js"></script>
<script src="assets/js/init/fullcalendar-init.js"></script>
<!--Local Stuff-->
<script>
jQuery(document)
.ready(
function($) {
"use strict";
$.plot('#flotPie1', piedata, {
series : {
pie : {
show : true,
radius : 1,
innerRadius :
0.65,
label : {
show :
true,
radius : 2
/ 3,
threshold
: 1
},
stroke : {
width : 0
}
}
},
grid : {
hoverable : true,
clickable : true
}
});
// Pie chart flotPie1 End
// cellPaiChart
var cellPaiChart = [ {
label : "Direct Sell",
data : [ [ 1, 65 ] ],
color : '#5b83de'
}, {
label : "Channel Sell",
data : [ [ 1, 35 ] ],
color : '#00bfa5'
} ];
$.plot('#cellPaiChart',
cellPaiChart, {
series : {
pie : {
show : true,
stroke : {
width : 0
}
}
},
legend : {
show : false
},
grid : {
hoverable : true,
clickable : true
}
});
// cellPaiChart End
// Line Chart #flotLine5
var newCust = [ [ 0, 3 ], [ 1, 5 ],
[ 2, 4 ],
[ 3, 7 ], [ 4, 9 ], [
5, 3 ], [ 6, 6 ],
[ 7, 4 ], [ 8, 10 ] ];
22000, 0 ],
15000, 300 ],
30000, 5000 ] ]
}, {
low : 0,
showArea :
true,
showLine :
false,
showPoint
: false,
fullWidth
: true,
axisX : {
showGrid : true
}
});
chart
.on(
'draw',
function(data) {
data.element
.animate({
d : {
dur : 2000,
from : data.path
.clone()
.scale(
1,
0)
.translate(
0,
data.chartRect
.height())
.stringify(),
to : data.path
.clone()
.stringify(),
easing : Chartist.Svg.Easing.easeOutQuint
});
}
});
}
// Traffic Chart using chartist End
//Traffic chart chart-js
if ($('#TrafficChart').length) {
var ctx = document
.getElementById("TrafficChart");
ctx.height = 150;
var myChart = new Chart(
ctx,
{
type :
'line',
data : {
"Jul" ],
datasets : [
label : "Visit",
borderWidth : "1",
backgroundColor : "rgba(4, 73, 203,.5)",
data : [ 0, 2900,
5000, 3300,
6000, 3250,
0 ]
},
label : "Bounce",
borderWidth : "1",
data : [ 0, 4200,
4500, 1600,
4200, 1500,
4000 ]
},
label : "Targeted",
borderWidth : "1",
data : [ 1000,
5200, 3600,
2600, 4200,
5300, 0 ]
} ]
},
options :
{
responsive : true,
tooltips : {
mode : 'index',
intersect : false
},
hover : {
mode : 'nearest',
intersect : true
}
}
});
}
//Traffic chart chart-js End
// Bar Chart #flotBarChart
$.plot("#flotBarChart", [ {
data : [ [ 0, 18 ], [ 2, 8 ],
[ 4, 5 ],
[ 6, 13 ], [ 8,
5 ], [ 10, 7 ],
[ 12, 4 ], [ 14,
6 ], [ 16, 15 ],
[ 18, 9 ], [ 20,
17 ], [ 22, 7 ],
[ 24, 4 ], [ 26,
9 ], [ 28, 11 ] ],
bars : {
show : true,
lineWidth : 0,
fillColor : '#ffffff8a'
}
} ], {
grid : {
show : false
}
});
// Bar Chart #flotBarChart End
});
</script>
<%
} else {
response.sendRedirect("admin-login.jsp");
}
%>
</body>
</html>
add-vehicle.jsp
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/normalize.min.css">
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.c
ss">
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/css/font-
awesome.min.css">
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/gh/lykmapipo/themify-
[email protected]/css/themify-icons.css">
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/pe-icon-7-
stroke/dist/pe-icon-7-stroke.min.css">
<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.2.0/css/flag-
icon.min.css">
<link rel="stylesheet" href="assets/css/cs-skin-elastic.css">
<link rel="stylesheet" href="assets/css/style.css">
<link
href='https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,800'
rel='stylesheet' type='text/css'>
</head>
<body>
<%
if (session.getAttribute("uname") != null &&
session.getAttribute("uname") != "") {
%>
<jsp:include page="includes/sidebar.jsp"></jsp:include>
<jsp:include page="includes/header.jsp"></jsp:include>
<div class="breadcrumbs">
<div class="breadcrumbs-inner">
<div class="row m-0">
<div class="col-sm-4">
<div class="page-header float-left">
<div class="page-title">
<h1>Dashboard</h1>
</div>
</div>
</div>
<div class="col-sm-8">
<div class="page-header float-right">
<div class="page-title">
<ol class="breadcrumb text-right">
<li><a
href="dashboard.jsp">Dashboard</a></li>
<li><a href="add-
vehicle.jsp">Vehicle</a></li>
<li class="active">Add
Vehicle</li>
</ol>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="content">
<div class="animated fadeIn">
<div class="row">
<div class="col-lg-6">
<div class="card"></div>
<!-- .card -->
</div>
<!--/.col-->
<div class="col-lg-12">
<div class="card">
<div class="card-header">
<strong>Add </strong> Vehicle
</div>
<p>
<%
String message = (String)
session.getAttribute("message");
if (message != null) {
session.removeAttribute("message");
%>
<h6>
<center>Parking slot is full, Wait
for sometimes.</center>
</h6>
<%
}
%>
</p>
<div class="card-body card-block">
<form action="AddVehicle"
method="post">
<p style="font-size: 16px;
color: red" align="center">
<div class="row form-group">
<div class="col col-md-
3">
<label
for="select" class=" form-control-label">Select</label>
</div>
<div class="col-12 col-
md-9">
<select
name="catename" id="catename" class="form-control">
<option
value="0">Select Category</option>
<%
while (resultset.next()) {
%>
<option
value="<%=resultset.getString(2)%>"><%=resultset.getString(2)%></option>
<%
}
%>
</select>
</div>
</div>
<div class="row form-group">
<div class="col col-md-
3">
<label
for="text-input" class=" form-control-label">Vehicle
Company</label>
</div>
<div class="col-12 col-
md-9">
<input
type="text" id="vehcomp" name="vehcomp"
required="true">
</div>
</div>
Number</label>
</div>
<div class="col-12 col-
md-9">
<input
type="text" id="vehreno" name="vehreno"
Name</label>
</div>
<div class="col-12 col-
md-9">
<input
type="text" id="ownername" name="ownername"
name="submit">Add</button>
</p>
</form>
</div>
</div>
</div>
<div class="col-lg-6"></div>
</div>
</div>
<!-- .animated -->
</div>
<!-- .content -->
<div class="clearfix"></div>
<jsp:include page="includes/footer.jsp"></jsp:include>
</div>
<!-- /#right-panel -->
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js"></script
>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js">
</script>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js"
></script>
<script
src="https://cdn.jsdelivr.net/npm/jquery-match-
[email protected]/dist/jquery.matchHeight.min.js"></script>
<script src="assets/js/main.js"></script>
<%
} else {
response.sendRedirect("admin-login.jsp");
}
%>
</body>
</html>
user-register.jsp
<title>VPMS-Login Page</title>
<link rel="apple-touch-icon" href="https://i.imgur.com/QRAUqs9.png">
<link rel="shortcut icon" href="https://i.imgur.com/QRAUqs9.png">
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/normalize.min.css">
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.c
ss">
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/css/font-
awesome.min.css">
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/gh/lykmapipo/themify-
[email protected]/css/themify-icons.css">
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/pe-icon-7-
stroke/dist/pe-icon-7-stroke.min.css">
<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.2.0/css/flag-
icon.min.css">
<link rel="stylesheet" href="assets/css/cs-skin-elastic.css">
<link rel="stylesheet" href="assets/css/style.css">
<link
href='https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,800'
rel='stylesheet' type='text/css'>
session.removeAttribute("message");
%>
<h6>
<center>User register successfully, Please
login.</center>
</h6>
<%
}
%>
</p>
<form action="UserRegister" method="post">
<div class="form-group">
<label>Name</label> <input
class="form-control" type="text"
placeholder="Full Name"
required="true" name="fullname">
</div>
<div class="form-group">
<label>Mobile No</label> <input
class="form-control" type="text"
placeholder="Mobile No"
required="true" name="mobile">
</div>
<div class="form-group">
<label>Email Id</label> <input
class="form-control" type="text"
placeholder="Email Id"
required="true" name="email">
</div>
<div class="form-group">
<label>Address</label>
<textarea class="form-control"
placeholder="Address"
required="true"
name="address"></textarea>
</div>
<div class="form-group">
<label>User Name</label> <input
class="form-control" type="text"
placeholder="Username"
required="true" name="username">
</div>
<div class="form-group">
<label>Password</label> <input
type="password"
class="form-control"
name="password" placeholder="Password"
required="true">
</div>
<div>
<label class="pull-left"><a
href="index.jsp">Home
Page</a></label> <label
class="pull-right"><a href="user-login.jsp">Sign
In </a></label>
</div>
<button type="submit" name="login"
class="btn btn-danger btn-flat m-b-
30 m-t-30">Sign Up</button>
</form>
</div>
</div>
</div>
</div>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js"></script
>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js">
</script>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js"
></script>
<script
src="https://cdn.jsdelivr.net/npm/jquery-match-
[email protected]/dist/jquery.matchHeight.min.js"></script>
<script src="assets/js/main.js"></script>
</body>
</html>
database connection.java
package com.connection;
import org.apache.commons.dbcp.BasicDataSource;
import java.security.SecureRandom;
import java.sql.*;
import java.util.Random;
Class.forName("com.mysql.cj.jdbc.Driver");
return
DriverManager.getConnection("jdbc:mysql://localhost:3306/vpmsdb?useSSL=f
alse", "root", "a1b2c3d4");
ResultSet rs = null;
try {
con = getConnection();
rs =
con.createStatement().executeQuery(SqlQueryString);
ex.printStackTrace();
return rs;
try {
if (con == null) {
getConnection();
con.createStatement().executeUpdate(SqlQueryString);
ex.printStackTrace();
}
public static String randompasswordgeneration() {
String letters =
"abcdefghjkmnpqrstuvwxyzABCDEFGHJKMNPQRSTUVWXYZ23456789@"
;
return password;
admin-login.java
package com.admin;
import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.UUID; }
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.admin.*;
import com.connection.DatabaseConnection;
/**
*/
@WebServlet("/AdminLogin")
try {
HttpSession hs = request.getSession();
String tokens =
UUID.randomUUID().toString();
Connection con =
DatabaseConnection.getConnection();
Statement st = con.createStatement();
if (resultset.next()) {
hs.setAttribute("uname", uname);
response.sendRedirect("dashboard.jsp?_tokens='" +
tokens + "'");
} else {
response.sendRedirect("admin-
login.jsp");
} catch (Exception e) {
e.printStackTrace();
}
4.2Testing
Testing is a process, which reveals errors in the program. It is the major quality
measure employed during software development. During software development, during
testing the program is executed with a set of test cases and the output of the program for the
cases is evaluated to determine if the program is performing as it is expected to perform.
Black box testing also called behavorial testing, focuses on the functional
requirements of software. This testing approach enables the software engineer to derive the
input conditions that will fully exercise all requirements for a program. Black box testing
attempts to find the errors like
Interface errors
In black box testing software is exercised over a full range of inputs and outputs are
observed for correctness.
Black Box Testing
Advantages of Black Box Testing-
1. Black Box Testing is only method to prove that Software does what it is supposed
to do.
2. It is only method to show that Software is living and it really works.
1. Some Logical errors in Coding can missed in Black Box Testing as Black Box
Testing efforts are driven by Requirements, not by Design.
White box testing is also called Glass box testing is a test case design control,
structure of the procedural design to derive test cases using white box testing method. The
software engineer can derive the test cases that quarantee that all independent paths within the
module have been exercised at least once. Exercise all logic decisions on their true or false
sides . Execute all loops at their boundries and within their operational bounds. Exercise
internal data structure to ensure their validity
1) White Box Testing ensure that defined Processes, Procedures and Deployment method
followed during Software Testing.
2) White Box Testing can give early warnings, if something is not done properly. It is
most Cost effective way of finding defects as it helps in reducing stage contamination.
Integration Testing
After the unit testing we have to perform integration testing. The goal here is to see if
modules can be integrated properly, the emphasis being on testing the design and hence the
emphasis on testing module interactions.
In this project integrating all the modules forms the main system. When integrating all the
modules we have checked whether the integration effects working of any of the services by
giving different combination of inputs with which the two services are perfectly before
integration.
System Testing:
Here the entire project system is tested. The reference document for this process is the
requirements document, and the goal as to see if software meets its requirements.
RESULT
TEST CASE NUMBER TESTING SCENARIO TESTING SCENARIO
Login Testing
Test Cases
Test cases are good in revealing the presence of faults. Successful in implementation of test cases
implies that there are no error in program. Test cases should be minimum as they are expensive in
cases of money and efforts. Primary Objectives of test cases are to ensure that if there is an error or
fault in program it is exercise by the test cases. An ideal test cases set is one that succeeds only if
there are no error in the program. One possible ideal set of set case is one that includes all possible
input to the program and is called exhaustive testing. A test case is good if it detect in undiscovered
error in program
1. Login
2. Admin
3.Validation
Index.jsp
Login Page
Dashboard
Add Category
Manage Category
Add Vehicle
Incoming Vehicle
Outgoing Vehicle
Report
Search Vehicle
Parking Seats
User Membership
Chapter 6
Conclusion and Future Work
Our project successfully reduces the parking problem in places of entertainment such as
theatres and shopping malls. Our project helps in finding out the availability of a parking slot
get the availability confirmed, and reach the place within the time slot allotted. It helps the
administration to allocate the vacant slot to the next person in queue. Our project saves the
time of visitors in booking a parking slot.
Future Work
Scope:
This is the modern age. Many people have vehicles. Vehicle is now a basic need.
Every place is under the process of urbanization. There are many corporate offices
and shopping centers etc. There are many recreational places where people used to
go for refreshment. So, all these places need a parking space where people can park
their vehicles safely and easily. Every parking area needs a system that records the
detail of vehicles to give the facility. These systems might be computerized or non
computerized. With the help of computerized system we can deliver a good service
to customer who wants to park their vehicle into the any organization’s premises.
These enhancements deal with what would be required in a new improved bigger
and better system
• In future if when a vehicle enters into the parking area there shouldbe one
sensor in which the user can easy identify from outside only is there parking
is full or empty or space is allocated
• In future the vehicle can be parked by machines.
Chapter 7
References
Websites
www.google.com
www.youtube.com
https://getbootstrap.com/
www.tutorialspoint.com
www.javatpoint.com www.javatutor.com
www.w3schools.com