ProjectReport (305) VPMS

Download as pdf or txt
Download as pdf or txt
You are on page 1of 63

PROJECT REPORT ON

VEHICLE PARKING MANAGEMENT SYSTEM

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

PNR No: 2019016401941002 Roll No: 305

1. Name of the Student


HRISHIKESH SUNIL BHOSLE

2. Title of the Project


VEHICLE PARKING MANAGEMENT SYSTEM

3. Name of the Guide


PROF. SARAVANAN REDDY

4. Teaching experience of the Guide

5. Is this your first submission? Yes ✓ No

Signature of the Student Signature of the Guide

Date: …………………… Date: ……………………

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

BACHELOR OF SCIENCE (INFORMATION TECHNOLOGY)


By

HRISHIKESH SUNIL BHOSLE


(305)

Under the esteemed guidance of

Prof. Saravanan Reddy

DEPARTMENT OF INFORMATION TECHNOLOGY

CHETANA’S HAZARIMAL SOMANI COLLEGE OF COMMERCE &


ECONOMICS
SMT. KUSUMTAI CHAUDHARI COLLEGE OF ARTS,
SELF FINANCING COURSES
(Affiliated to University of Mumbai)
MUMBAI, 400051
MAHARASHTRA
2021-2022
CHETANA’S HAZARIMAL SOMANI COLLEGE OF COMMERCE &
ECONOMICS
SMT. KUSUMTAI CHAUDHARI COLLEGE OF ARTS,
SELF FINANCING COURSES
(Affiliated to University of Mumbai)
MUMBAI- 400051
MAHARASHTRA
2021-2022
DEPARTMENT OF INFORMATION TECHNOLOGY

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.

Internal Guide Coordinator

External Examiner

Date: College Seal


ABSTRACT
In my project, on “VEHICLE PARKING MANAGEMENT SYSTEM”, I have tried to
show how the Data of Vehicle Parking Management System is managed.
This is just an overview of managements in Vehicle Parking Management System. This
has been achieved by dividing the project into various modules. This system will provide access
to the incoming & outgoing vehicles .The system will determine the cost of per vehicle according
to their time consumption.
The system that will track the entry and exit of parked vehicles, maintain a listing of vehicles
according to their types within the parking lot, and determine if the parking lot is full or not.
ACKNOWLEDGEMENT
First, I would like to thank Prof. Saravanan Reddy, my project advisor and BSc.IT, for
guiding me through each and every step of the process with knowledge and support. Thank you
for your advice, guidance and assistance.

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.

Hrishikesh Sunil Bhosle

(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.

The Project is done in partial fulfilment of requirements for award of degree of


BACHELOR OF SCIENCE (INFORMATION TECHNOLOGY) to be submitted as final
semester project as part of our curriculum.

HRISHIKESH S. BHOSLE (305)


TABLE OF CONTENTS
Chapter 1: Introduction 1
1.1 Background ……………………………………………………………. 1
1.2 Objectives ……………………………………………………………… 2
1.3 Purpose and Scope ……………………………………………………. 3
1.2.1 Purpose ………………………………………………………. 4
1.2.2 Scope …………………………………………………………. 5
Chapter 2: System Analysis
2.1 Existing System
2.2 Proposed System
2.3 Requirement Analysis
2.4 Hardware Requirements
2.5 Software Requirements
Chapter 3: System Design
3.1 Module Division
3.2 Data Dictionary
3.3 ER Diagrams
3.4 DFD/UML Diagrams
Chapter 4: Implementation and Testing
4.1 Code (Place Core segments)
4.2 Testing Approach
4.2.1 Unit Testing (Test cases and Test Results)
4.2.2 Integration System (Test cases and Test Results)
Chapter 5: Results and Discussions (Output Screens)
Chapter 6: Conclusion and Future Work
Chapter 7: Reference
Chapter 1
INTRODUCTION

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.

System analysis phases


Information gathering:
It is done by interviewing the users and reviewing the existing documents. For the
development of vehicle parking system a lot of research and important input from various
website and application user was needed. Hence the following questionnaires were provided
to them and hence they need for our website arises.
• Interviewing the users:
✓ What are the difficulties you are facing in the existing system?
✓ What all new things you want to include in the proposed system?
✓ In what way you are storing your information?
✓ Who are the users of the system?
1.User requirement:
Need for an application that makes communicating easy and comfortable. An
application that enables user to park a vehicle safe and secure. Handling all
functions done with organization in a computerized manner. Allowing the
user to park the vehicle directly.
2.Functional requirements:
Admin need to enter all details for registration. Admin need to insert all
details about customer and vehicle. Admin need to save all details of
customer and vehicle. Admin can retrieve the details of customer. Admin
must generate a report for payment.
3.Nonfunctional requirement:
Usability: These website has appropriate user interface and adequate
information to guide the user in order to use the website. Security: This
website provide user and authentication so that only the legitimate user are
allow to use the website. Maintainability: These website is capable to secure
the data and easily retrieve the data. Scalability: These system further can be
modified.
2.1 Existing System

• 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.

2.2 Proposed System


• The proposed project is based on a vehicle parking system that gives customers a method of
booking a parking slot using an java web application.
• It reduces the issue of finding a parking slot in commercial areas that consumes a lot of time.
• Hence, this project offers an java web application for reservation of parking slots where users
can view, book various parking areas nearby or specific area to view whether space is
available or not.
• If the booking space is accessible, then the client can book it.
• The customer application allows parking booking on the web application.

Advantages

 A parking management system provides a real-time , capability to ensure that customer


demands of convenience and speed are fulfilled.

 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.

Planning And Scheduling


Gantt Chart
a. A Gantt chart is a type of bar chart that illustrates a Project schedule.
b. Gantt charts illustrate the start and finish dates of the terminal elements and summary
elements of a project. Terminal elements and summary elements comprise
Task Name Start Month Duration (Months) End Month
Information July 1 August
Gathering
Planning August 2 October
Design November 1 December
Coding January 2 March
Testing March 1 March
Gantt Chart

Information Gathering

Planning

Dsign

Coding

Testing

2.4 Hardware Requirements


Processor: Any Processor above 1 GH & Above.
RAM: Minimum 4GB.
Hard Disk: Minimum 500 GB.
Processor: Any processor above 1 GH & above

2.5 Software Requirements


Front End: Bootstrap/jQuery/Ajax/JavaScript.
Middle Layer: Java Servlet/JSP.
Database: MySQL 8.0.
Server: Apache Tomcat 8.5.
Scripting Language: JavaScript.
Editor: Eclipse Neon.
Operating System: Windows Family
Chapter 3
System Design

3.1 Architecture:
A system architecture or systems architecture is the conceptual model that defines the
structure, behavior and more views of a system.

An architecture description is a formal description and representation of a system,


organized in a way that supports reasoning about the structure of the system which comprises
system components, the externally visible properties of those components, the systems
developed, that will work together to implement the overall system. The language for
architecture description is called the architecture description language. This project consists
many forms, each form is used to do particular task, below each form is explained in detail.

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.

Components of Data Flow Diagram


There are four symbols that are used in the drawing of Data Flow Diagrams

• Entities

External entities represent the sources of data that enter the system or the recipients of data
that leave the system.
• Process

Processes represent data in which data is manipulated by being stored or retrieve or


transformed in some way. A circle represents it. The process will show the data information
or charge.

• Database

Database represents storage of data within the system


• Data Flow

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

Parking Seat Capacity

Table Vehicle

Table Category
Chapter 4
Implementation and Testing
4.1 Code

index.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"


pageEncoding="ISO-8859-1"%>

<!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

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"


pageEncoding="ISO-8859-1"%>
<!doctype html>
<html class="no-js" lang="">
<head>

<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'>

<!-- <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;">
<div class="sufee-login d-flex align-content-center flex-wrap">
<div class="container">
<div class="login-content">
<div class="login-logo">
<a href="index.php">
<h4 style="color: #FFFFFF">Vehicle Parking
Management System</h4>
</a>
</div>
<div class="login-form">
<form action="AdminLogin" method="post">
<p style="font-size: 16px; color: red"
align="center"></p>
<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 class="checkbox">
<label class="pull-left"><a
href="index.jsp">Home
Page</a></label> <label
class="pull-right"> <a href="forgot-password.jsp">Forgot Password?</a>
</label>
</div>
<button type="submit" name="login"
class="btn btn-success 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>

User-login.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"


pageEncoding="ISO-8859-1"%>

<!doctype html>
<html class="no-js" lang="">
<head>

<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'>

<!-- <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;">
<div class="sufee-login d-flex align-content-center flex-wrap">
<div class="container">
<div class="login-content">
<div class="login-logo">
<a href="index.jsp">
<h4 style="color: #FFFFFF">Vehicle Parking
Management System</h4>
</a>
</div>
<div class="login-form">
<p>
<%
String message = (String)
session.getAttribute("message");
if (message != null) {

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>

<html class="no-js" lang="">


<head>

<title>VPMS - Admin Dashboard</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">
<!-- <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>

<!-- Content -->


<div class="content">
<!-- Animated -->
<div class="animated fadeIn">
<!-- Widgets -->
<div class="row">
<%
int count_today_vehentries = 0;
Connection con =
DatabaseConnection.getConnection();
Statement statement =
con.createStatement();
ResultSet resultset = statement
.executeQuery("select
count(*) from tblvehicle where date(InTime)=CURDATE()");
while (resultset.next()) {
count_today_vehentries =
resultset.getInt(1);
}
%>

<div class="col-lg-3 col-md-6">


<div class="card">
<div class="card-body">
<div class="stat-widget-five">
<div class="stat-icon dib
flat-color-1">
<i class="pe-7s-
car"></i>
</div>
<div class="stat-content">
<div class="text-left
dib">
<div
class="stat-text">
<span
class="count"><%=count_today_vehentries%> </span>
</div>
<div
class="stat-heading">Todays Vehicle Entries</div>
</div>
</div>
</div>
</div>
</div>
</div>

<div class="col-lg-3 col-md-6">


<%
int count_yesterday_vehentries = 0;
Statement st =
con.createStatement();
ResultSet rs =
st.executeQuery("select count(*) from tblvehicle where date(InTime)=CURDATE()-1
");
while (rs.next()) {
count_yesterday_vehentries =
rs.getInt(1);
}
%>
<div class="card">
<div class="card-body">
<div class="stat-widget-five">
<div class="stat-icon dib
flat-color-2">
<i class="pe-7s-
car"></i>
</div>
<div class="stat-content">
<div class="text-left
dib">
<div
class="stat-text">
<span
class="count"> <%=count_yesterday_vehentries%>
</span>
</div>
<div
class="stat-heading">Yesterdays Vehicle Entries</div>
</div>
</div>
</div>
</div>
</div>
</div>

<div class="col-lg-3 col-md-6">


<%
int count_lastsevendays_vehentries = 0;
Statement stmt =
con.createStatement();
ResultSet rst = stmt.executeQuery(
"select count(*) from
tblvehicle where date(InTime)>=(DATE(NOW()) - INTERVAL 7 DAY)");
while (rst.next()) {

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="col-lg-3 col-md-6">


<%
int count_total_vehentries = 0;
Statement allstmt =
con.createStatement();
ResultSet allrst =
allstmt.executeQuery("select count(*) from tblvehicle");
while (allrst.next()) {
count_total_vehentries =
allrst.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"> <%=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>

<!-- /#right-panel -->

<!-- Scripts -->


<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>

<!-- Chart 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";

// Pie chart flotPie1


var piedata = [ {
label : "Desktop visits",
data : [ [ 1, 32 ] ],
color : '#5c6bc0'
}, {
label : "Tab visits",
data : [ [ 1, 33 ] ],
color : '#ef5350'
}, {
label : "Mobile visits",
data : [ [ 1, 35 ] ],
color : '#66bb6a'
} ];

$.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 ] ];

var plot = $.plot($('#flotLine5'), [


{
data : newCust,
label : 'New Data Flow',
color : '#fff'
} ], {
series : {
lines : {
show : true,
lineColor :
'#fff',
lineWidth : 2
},
points : {
show : true,
fill : true,
fillColor :
"#ffffff",
symbol :
"circle",
radius : 3
},
shadowSize : 0
},
points : {
show : true,
},
legend : {
show : false
},
grid : {
show : false
}
});
// Line Chart #flotLine5 End
// Traffic Chart using chartist
if ($('#traffic-chart').length) {
var chart = new
Chartist.Line('#traffic-chart',
{
labels : [
'Jan', 'Feb', 'Mar',
'Apr', 'May', 'Jun' ],
series : [

[ 0, 18000, 35000, 25000,

22000, 0 ],

[ 0, 33000, 15000, 20000,

15000, 300 ],

[ 0, 15000, 28000, 15000,

30000, 5000 ] ]
}, {
low : 0,
showArea :
true,
showLine :
false,
showPoint
: false,
fullWidth
: true,
axisX : {

showGrid : true
}
});

chart
.on(

'draw',

function(data) {

if (data.type === 'line'

|| data.type === 'area') {

data.element

.animate({

d : {

begin : 2000 * data.index,

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 : {

labels : [ "Jan", "Feb", "Mar",

"Apr", "May", "Jun",

"Jul" ],

datasets : [

label : "Visit",

borderColor : "rgba(4, 73, 203,.09)",

borderWidth : "1",
backgroundColor : "rgba(4, 73, 203,.5)",

data : [ 0, 2900,

5000, 3300,

6000, 3250,

0 ]

},

label : "Bounce",

borderColor : "rgba(245, 23, 66, 0.9)",

borderWidth : "1",

backgroundColor : "rgba(245, 23, 66,.5)",

pointHighlightStroke : "rgba(245, 23, 66,.5)",

data : [ 0, 4200,

4500, 1600,

4200, 1500,

4000 ]

},

label : "Targeted",

borderColor : "rgba(40, 169, 46, 0.9)",

borderWidth : "1",

backgroundColor : "rgba(40, 169, 46, .5)",

pointHighlightStroke : "rgba(40, 169, 46,.5)",

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

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"


pageEncoding="ISO-8859-1"%>
<%@ page import="com.connection.*"%>
<%@ page import="java.sql.*"%>
<!doctype html>
<html class="no-js" lang="">
<head>
<title>VPMS - Add Vehicle</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'>

<!-- <script type="text/javascript"


src="https://cdn.jsdelivr.net/html5shiv/3.7.3/html5shiv.min.js"></script> -->

</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>
<%

Connection con = DatabaseConnection.getConnection();

Statement statement = con.createStatement();

ResultSet resultset = statement.executeQuery("select * from tblcategory");

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"

class="form-control" placeholder="Vehicle Company"

required="true">
</div>
</div>

<div class="row form-group">


<div class="col col-md-
3">
<label
for="text-input" class=" form-control-label">Registration

Number</label>
</div>
<div class="col-12 col-
md-9">
<input
type="text" id="vehreno" name="vehreno"

class="form-control" placeholder="Registration Number"


required="true">
</div>
</div>
<div class="row form-group">
<div class="col col-md-
3">
<label
for="text-input" class=" form-control-label">Owner

Name</label>
</div>
<div class="col-12 col-
md-9">
<input
type="text" id="ownername" name="ownername"

class="form-control" placeholder="Owner Name" required="true">


</div>
</div>
<div class="row form-group">
<div class="col col-md-
3">
<label
for="text-input" class=" form-control-label">Owner
Contact
Number</label>
</div>
<div class="col-12 col-
md-9">
<input
type="text" id="ownercontno" name="ownercontno"

class="form-control" placeholder="Owner Contact Number"

required="true" maxlength="10" pattern="[0-9]+">


</div>
</div>
<p style="text-align:
center;">
<button type="submit"
class="btn btn-primary btn-sm"

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 -->

<!-- Right Panel -->

<!-- Scripts -->


<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>

<%
} else {
response.sendRedirect("admin-login.jsp");
}
%>
</body>
</html>

user-register.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"


pageEncoding="ISO-8859-1"%>
<!doctype html>
<html class="no-js" lang="">
<head>

<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'>

<!-- <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;">
<div class="sufee-login d-flex align-content-center flex-wrap">
<div class="container">
<div class="login-content">
<div class="login-logo">
<a href="index.jsp">
<h4 style="color: #FFFFFF">Vehicle Parking
Management System</h4>
</a>
</div>
<div class="login-form">
<p>
<%
String message = (String)
session.getAttribute("message");
if (message != null) {

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;

public class DatabaseConnection {

static Connection con;

public static Connection getConnection() throws


Exception {

Class.forName("com.mysql.cj.jdbc.Driver");

return
DriverManager.getConnection("jdbc:mysql://localhost:3306/vpmsdb?useSSL=f
alse", "root", "a1b2c3d4");

public static ResultSet getResultFromSqlQuery(String


SqlQueryString) {

ResultSet rs = null;

try {
con = getConnection();

rs =
con.createStatement().executeQuery(SqlQueryString);

} catch (Exception ex) {

ex.printStackTrace();

return rs;

public static void insertUpdateFromSqlQuery(String


SqlQueryString) {

try {

if (con == null) {

getConnection();

con.createStatement().executeUpdate(SqlQueryString);

} catch (Exception ex) {

ex.printStackTrace();

}
public static String randompasswordgeneration() {

Random RANDOM = new SecureRandom();

final int PASSWORD_LENGTH = 10;

String letters =
"abcdefghjkmnpqrstuvwxyzABCDEFGHJKMNPQRSTUVWXYZ23456789@"
;

String password = "";

for (int i = 0; i < PASSWORD_LENGTH; i++) {

int index = (int) (RANDOM.nextDouble() *


letters.length());

password += letters.substring(index, index + 1);

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;

/**

* Servlet implementation class AdminLogin

*/

@WebServlet("/AdminLogin")

public class AdminLogin extends HttpServlet {

protected void doPost(HttpServletRequest request,


HttpServletResponse response)

throws ServletException, IOException {

String uname = request.getParameter("username");

String pass = request.getParameter("password");

try {
HttpSession hs = request.getSession();

String tokens =
UUID.randomUUID().toString();

Connection con =
DatabaseConnection.getConnection();

Statement st = con.createStatement();

ResultSet resultset = st.executeQuery("select *


from tbladmin where username='" + uname + "' AND password='" + pass + "'");

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.

Testing is a process to show the correctness of the program. Testing is needed to


show completeness, it improves the quality of the software and to provide the maintenance
aid. Some testing standards are therefore necessary reduce the testing costs and operation
time. Testing software extends throughout the coding phase and it represents the ultimate
review of configuration, design and coding. Based on the way the software reacts to these
testing. We can decide whether the configuration that has been built is study or not. All
components of an applicaton are tested, as the failure to do so many result in a series of bugs
after the software is put to use.

Black box testing

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

 Incorrect or missing functions

 Interface errors

 Errors in data structures or external database access

 Behavior or performance errors

 Initialization and termination 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.

Disadvantages of Black Box Testing-

1. Some Logical errors in Coding can missed in Black Box Testing as Black Box
Testing efforts are driven by Requirements, not by Design.

2. Redundant Testing is possible as Requirements may execute some branch of Code


again and again.

White box testing

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

White Box Testing


Advantages of White Box Testing-

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.

3) Some characteristics of Software Work Product can be verified only. There is no


Validation chances.

Disadvantages of White Box Testing-


1) It does not ensure that User requirements are met correctly. There is no Code
Execution.
2) It does not establish the Decisions, Conditions, Paths and Statements are covered
during Reviews are sufficient for Requirements or not.
3) White Box Testing dominated by Checklist Usage. Some Checklists Defects reflect
directly in Work Product.
Types of testing:
Unit Testing
Unit testing is a process verification effort on the smallest unit of software i.e the
module. Using the detailed design and the process specification testing is done to uncover
errors within the boundary of the module. All modules must be successful in the unit test
before the start of the integration testing begins. In this project each service can be thought of
a module.
Giving different sets of inputs has tested each module. When developing the module as well as
finishing the development so that each module works without any error. The inputs are
validated when accepting from the user. In this application developer tests the programs up as
system. Software units in a system are the modules and routines that are assembled and ignored
to form a specific function. Unit testing is first done on modules, independent of one another to
locate errors. This enables to detect errors. Through this error resulting from interaction
between modules initially avoided.

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

TC – 1 Clicking submit Alert "Invalid User" Pass


entering wrong
Username
TC – 2 Clicking submit Alert "Invalid User" Pass
entering wrong
password
TC – 3 Clicking submit Alert "Invalid User" Pass
entering wrong
username and password

TC – 4 Clicking submit without Alert "Please fill Pass


entering name name"
TC – 5 Clicking submit without Alert "Please fill phone Pass
entering phone no no"

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

SL.NO Input Values Expected Output Actual Output Result


1 Login in without Error message and Error message and No Error
username and password directed to same directed to same
page page
2 If user is new. Click on Will go to new form Will go to new No Error
register button . form
3 Incorrect User id or Error message and Error message and No Error
password directed to same directed to same
page page

2. Admin

SL.NO Input Values Expected output Actual output Result


1 Login in without entering Error message Error message No Error
username and password enter a valid user id enter a valid user
and password id and password
2 Login with wrong user id and Error message Error message No Error
password
3 Correct user id and password Directed to admin Directed to admin No Error
page page
4 Click on all dashboard Show all Dashboard Show all No Error
Dashboard
5 Click on view customer details Show all Customer Show all Customer No Error
details details
6 Update vehicle details Must be retrieved Must be retrieved No Error
from the database from the database
7 Logout Directed to the Directed to the No Error
admin login page admin login page

3.Validation

Attributes On module/page Validation


Name, phone no, Email-id, address Admin Registration Should be not null

Password, Retype password Admin Registration Should match the password


Username, password Login Should match with the
system database
Vehicle details Update vehicle details Must be retrieved from the
database
Customer details View customer details Should retrieved from the
data base
Chapter 5
Results
Screen Layouts

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.

Enhancement to create a bigger and better System

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

You might also like