0% found this document useful (0 votes)
52 views49 pages

Project Reportmain

The document outlines the objectives, modules, feasibility study, and design of a proposed cab booking system. The key objectives are to streamline booking, provide real-time availability, optimize routes, and enhance the user experience. The feasibility study assesses the technical, economic, operational, legal, and user acceptance considerations of the system. It recommends proceeding with development if the analysis finds the project viable. The design documents include DFD diagrams and ER diagrams to map the system's workflow and database structure.

Uploaded by

Aakash Sharma
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
52 views49 pages

Project Reportmain

The document outlines the objectives, modules, feasibility study, and design of a proposed cab booking system. The key objectives are to streamline booking, provide real-time availability, optimize routes, and enhance the user experience. The feasibility study assesses the technical, economic, operational, legal, and user acceptance considerations of the system. It recommends proceeding with development if the analysis finds the project viable. The design documents include DFD diagrams and ER diagrams to map the system's workflow and database structure.

Uploaded by

Aakash Sharma
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 49

1

Index
1. Introduction 1

1.1 Traditional System

1.2 Proposed system

2. Objectives of the Project 5

3. Module 7

1.3 Web Based Application

4. Preliminary Investigation 9

5. Feasibility Study 11

6. Software Requirement Specification 15

7. Designing-Physical and Logical 23

1.4 DFD

7.2 ER Diagram

8. Script Language Used 25

9. Database 27

9.2 Tables

10. Coding 31

11. Testing 66

2
Introduction to the Project

1.1Traditional System
The traditional system of project cab booking typically involves the use of manual
processes and interactions between customers, cab drivers, and a central dispatcher.
Here's how the traditional system works:

1.1.1 Customer Booking:

Customers who need a cab would typically call a centralized phone number provided
by the cab company. They would speak to a dispatcher or customer service
representative who takes down their details like pickup location, destination, and time
of travel. The dispatcher would then manually assign a cab based on availability and
proximity

1.1.2 Dispatching:

The dispatcher would use a physical map or basic software to identify the available
cabs and their current locations. They would then choose the nearest available cab
and inform the driver about the pickup details.

1.1.3 Driver Response:

The cab driver would confirm their availability and accept the booking. They might
also ask for additional details from the dispatcher or the customer regarding the
pickup location.

1.1.4 Ride Completion:

The driver would pick up the customer from the designated location and drop them
off at their destination. The fare would be calculated based on a pre-defined rate card
that the cab company provides to both customers and drivers.

1.1.6. Feedback:

There might be a feedback system in place, where customers could provide feedback
about their experience, either by calling the company or by sending an email.

Proposed System
A proposed modern cab booking system would leverage technology to streamline the
booking process, enhance customer experience, and optimize resource allocation.
Here's how the proposed system could work:

1.2.1 Mobile App-Based Booking:

Customers would use a mobile app to book cabs. They can input their pickup
location, destination, and preferred ride type (e.g., standard, premium, shared). The
app would display the estimated fare and available drivers nearby.

3
1.2.2 Real-Time Driver Matching:

The system's backend would use GPS technology to identify available drivers in the
vicinity of the customer's location. An algorithm would match the customer with the
nearest available driver who meets their preferences.

1.2.6. Fare Estimation:

The app would provide fare estimates before the ride, based on distance, time, and
ride type. This gives customers transparency about the cost of their ride.

1.2.7. Driver Ratings and Reviews:

Customers can rate and provide feedback on drivers after each ride, promoting
accountability and improving the overall quality of service.

1.2.8. Dynamic Pricing:

The system could implement dynamic pricing, where fares adjust based on demand
and supply conditions. This encourages more drivers to be available during peak
times and ensures competitive pricing.

1.2.9 Analytics and Reports:

The system could generate reports and analytics to help the cab company analyze
trends, customer preferences, driver performance, and overall operational efficiency.

1.2.11 Multi-Lingual Support:

The app could be designed to support multiple languages, ensuring accessibility for a
broader range of users.

1.2.12. Accessibility Features:

Consider implementing accessibility features for users with disabilities, such as voice
commands, screen readers, and larger fonts.

4
1) Objectives of the Project
The Cab Booking System project is designed with specific objectives in mind, aiming
to address existing challenges in urban transportation and provide a comprehensive
solution that benefits both passengers and cab drivers. These objectives serve as
guiding principles for the development and implementation of the project. In the
project report, they outline the project's purpose and the desired outcomes it aims to
achieve. Here are the key objectives:

Efficient Booking Process: Streamline the process of booking cab rides for
passengers, eliminating the need for lengthy phone calls or waiting for taxis on the
street.

Real-Time Availability: Provide passengers with real-time information about


available cabs nearby, ensuring prompt and convenient access to transportation.

Driver Empowerment: Create a user-friendly platform for cab drivers to receive ride
requests, optimize routes, and manage their schedules effectively.

Route Optimization: Optimize route planning and navigation for both passengers
and drivers to minimize travel time and expenses.

User Engagement: Facilitate social interaction between passengers and drivers


through ratings, reviews, and feedback mechanisms.

Historical Tracking: Allow passengers and drivers to access their ride history for
reference, accountability, and improved user experience.

Security and Privacy: Implement strong security measures to protect user data,
ensuring safe and secure transactions and interactions.

Accessibility: Create an intuitive user interface that caters to users of various


technical backgrounds, making the system accessible and user-friendly.

Transparency: Provide transparent fare estimates, ensuring passengers are aware of


the expected costs before confirming a booking.

Operational Insights: Generate reports and analytics for cab operators to analyze
ride data, identify trends, and make informed operational decisions.

Customer Satisfaction: Enhance customer satisfaction by offering a reliable,


efficient, and user-centric solution that addresses their transportation needs.

Business Growth: Facilitate business growth for cab operators by increasing their
reach, improving customer retention, and optimizing fleet management.

These objectives collectively define the scope and purpose of the Cab Booking
System project, guiding its development to create a system that transforms urban
transportation, enhances user experience, and promotes efficiency in the cab booking
process.

5
Feasibility Study
A feasibility study for an online cab booking service involves assessing whether the
proposed project is viable from technical, economic, operational, and schedule
perspectives. Here's how you might approach the feasibility study for an online cab
booking platform:

1. Technical Feasibility:

- Evaluate the technical requirements needed to develop and maintain the online cab
booking platform. Consider factors such as the required technology stack, mobile app
development, GPS integration, payment gateways, and backend infrastructure.

- Assess the technical expertise of the development team to ensure they have the
skills and resources necessary to build and maintain the platform.

- Determine if any technical challenges or complexities might arise during


development and how they can be addressed.

2. Economic Feasibility:

- Estimate the project's total costs, including development, marketing, operational,


and ongoing maintenance expenses.

- Analyze potential revenue streams, such as booking fees, surge pricing,


advertisements, and partnerships with drivers or car rental companies.

- Conduct a cost-benefit analysis to determine if the expected benefits and returns


outweigh the projected costs over the platform's lifecycle.

3. Operational Feasibility:

- Assess the operational aspects of running the online cab booking service on a day-
to-day basis.

- Consider factors like driver recruitment and management, user support, vehicle
maintenance, and insurance coverage.

- Evaluate the scalability of the platform to accommodate an increasing number of


users and bookings.

4. Schedule Feasibility:

- Create a realistic project timeline that outlines the development phases, testing,
launch, and ongoing updates.

- Consider potential delays due to unforeseen technical challenges, changes in


requirements, or external factors.

- Determine if the project can be completed within the desired timeframe and if it
aligns with market demands.

5. User Acceptance and Market Feasibility:


6
- Analyze the target market and the potential demand for an online cab booking
platform.

- Research user preferences, expectations, and pain points related to booking cabs.
Study the competitive landscape and identify potential differentiators.

- Determine if the platform's features and user experience align with market needs
and preferences.

6. Legal and Regulatory Feasibility:

- Identify legal and regulatory requirements related to the transportation and ride-
sharing industry, including permits, licenses, data protection, and liability
considerations.

- Ensure that the platform's operations and user data handling comply with applicable
laws and regulations.

7. Conclusion and Recommendation:

- Summarize the findings of the feasibility study and provide a recommendation on


whether to proceed with the development of the online cab booking platform. If the
study indicates feasibility, highlight key factors that support the recommendation. If
concerns arise, outline challenges that need to be addressed before proceeding.

A comprehensive feasibility study helps you assess the viability of an online cab
booking platform, guiding decision-making and ensuring the alignment of the project
with the organization's goals and resources.

7
Software Requirements Specifications (SRS)
1) Perspective:

In the context of a Software Requirements Specification (SRS) for a cab booking


project, the perspective refers to the viewpoint from which the document is written
and the various stakeholders it addresses. The SRS outlines the system's
functionality, features, and constraints, serving as a blueprint for the development
team.

From a project perspective, the SRS would elucidate the high-level objectives of the
cab booking system, highlighting the overarching goals such as efficient ride
management, user satisfaction, and improved accessibility. It would also define the
scope of the project, encompassing key features like user registration, ride booking,
real-time tracking, fare calculation, and payment processing.

From a user perspective, the SRS would elaborate on the system's usability, detailing
the user interfaces, interaction flows, and user authentication mechanisms. It would
emphasize the simplicity and intuitiveness of the application, ensuring that both
passengers and drivers can easily comprehend and navigate through the booking
process.

2) Function:

The Software Requirements Specification (SRS) for a cab booking project serves as a
comprehensive document that outlines the functional and non-functional
requirements of the system. It plays a pivotal role in guiding the development process
by providing a clear understanding of what the system needs to accomplish. Here are
the key functions of an SRS for a cab booking project:

Requirement Definition: The SRS defines the functional requirements of the cab
booking system. It specifies the features and capabilities the system must have, such
as user registration, ride booking, real-time tracking, fare calculation, payment
processing, user management, and driver assignment.

Scope Clarification: The SRS sets the boundaries of the project by clearly defining
what is included and what is not. This helps manage stakeholders' expectations and
prevents scope creep during development.

User-Centric Design: The SRS outlines user personas, user journeys, and user
interfaces. It describes how users will interact with the system, ensuring that the user
experience is intuitive, efficient, and aligned with their needs.

System Behavior: The SRS describes how the system will respond to different
inputs and scenarios. It details the expected behavior of the system under various
conditions, providing a basis for testing and validation.

Functional Flow: The SRS documents the flow of activities within the system. It
outlines step-by-step processes for tasks like booking a ride, driver allocation, fare
estimation, ride cancellation, and feedback submission.

8
Data Management: The SRS defines the data requirements and data flows within
the system. It specifies the types of data to be collected, stored, and processed, as
well as any data security and privacy considerations.

Performance Requirements: The SRS outlines performance metrics such as


response time, system availability, and maximum concurrent users. This ensures that
the system can handle the expected load without performance bottlenecks.

Quality Assurance: The SRS provides a basis for testing by detailing the expected
outcomes of different interactions. This helps testers ensure that the system functions
correctly and meets the specified requirements.

Technical Architecture: The SRS outlines the technical architecture of the system,
including software components, databases, APIs, and communication protocols. This
information guides the development team in building a robust and scalable solution.

Stakeholder Communication: The SRS serves as a communication bridge between


different stakeholders, including project managers, developers, designers, testers, and
clients. It helps align everyone's understanding of the project's goals and
functionalities.

3) User classes and characteristics:

The Software Requirements Specification (SRS) for a cab booking project serves as a
comprehensive document that outlines the functional and non-functional
requirements of the system. It plays a pivotal role in guiding the development process
by providing a clear understanding of what the system needs to accomplish. Here are
the key functions of an SRS for a cab booking project:

Operating Environment:

Recommended minimum hardware requirements at developer side:

Processor: AMD processor (e.g., Intel Core i2 or AMD Ryzen 5) with a clock speed
of 2.5 GHz or higher.

RAM: 8 GB of RAM or more for smooth multitasking and running development


tools.

Storage: 256 GB SSD or higher for faster data access and storage.

Operating System: Windows 10, macOS, or a Linux distribution (Ubuntu, CentOS,


etc.).

Internet Connection: High-speed internet connection for downloading software


updates and collaborating online.

Requirement Definition: The SRS defines the functional requirements of the cab booking
system. It specifies the features and capabilities the system must have, such as user
registration, ride booking, real-time tracking, fare calculation, payment processing, user
management, and driver assignment.

9
Scope Clarification: The SRS sets the boundaries of the project by clearly defining what
is included and what is not. This helps manage stakeholders' expectations and prevents scope
creep during development.

User-Centric Design: The SRS outlines user personas, user journeys, and user interfaces.
It describes how users will interact with the system, ensuring that the user experience is
intuitive, efficient, and aligned with their needs.

System Behavior: The SRS describes how the system will respond to different inputs and
scenarios. It details the expected behavior of the system under various conditions, providing
a basis for testing and validation.

Functional Flow: The SRS documents the flow of activities within the system. It outlines
step-by-step processes for tasks like booking a ride, driver allocation, fare estimation, ride
cancellation, and feedback submission.

Data Management: The SRS defines the data requirements and data flows within the
system. It specifies the types of data to be collected, stored, and processed, as well as any
data security and privacy considerations.

Performance Requirements: The SRS outlines performance metrics such as response


time, system availability, and maximum concurrent users. This ensures that the system can
handle the expected load without performance bottlenecks.

Quality Assurance: The SRS provides a basis for testing by detailing the expected
outcomes of different interactions. This helps testers ensure that the system functions
correctly and meets the specified requirements.

Technical Architecture: The SRS outlines the technical architecture of the system,
including software components, databases, APIs, and communication protocols. This
information guides the development team in building a robust and scalable solution.

Stakeholder Communication: The SRS serves as a communication bridge between


different stakeholders, including project managers, developers, designers, testers, and clients.
It helps align everyone's understanding of the project's goals and functionalities.

Basis for Agreement: The SRS provides a clear and agreed-upon basis for the project's
scope and features. This can be referred to in case of disagreements or disputes during
development or after project completion.

In summary, the SRS for a cab booking project functions as a roadmap that ensures the
system's requirements are well-defined, understood, and implemented accurately. It acts as a
foundational document that sets the direction for development and serves as a reference point
throughout the project lifecycle.

4) Design and Implementation Constraints:

Design and implementation constraints in the context of a Software Requirements


Specification (SRS) for a cab booking project refer to the limitations and conditions that
influence the design and development of the system. These constraints can impact the
choices made during the design and implementation phases. Here are some common design
and implementation constraints for a cab booking project:

Platform Constraints:

10
The system might need to be compatible with multiple platforms (iOS, Android, web
browsers).

It might need to support different screen sizes and resolutions.

Technology Stack Constraints:

The project might be required to use specific programming languages, frameworks, or


libraries.

There might be limitations on the versions of software tools that can be used.

Integration Constraints:

The system might need to integrate with external services like payment gateways, mapping
APIs, or ride-sharing platforms.

These integrations might have specific APIs and protocols that need to be adhered to.

Data Storage Constraints:

The project might need to comply with data privacy regulations (GDPR, HIPAA) affecting
how user data is stored and managed.

There might be restrictions on where data can be stored geographically.

The project might require adherence to certain security standards (ISO 27001) for protecting
user data.

3) External Interface Requirements:

3.1 User Interfaces

Home Page: The home page of this Cab Booking Website is designed to be attractive and user
friendly. It includes - Search Bar, Home, Products, Register, My Account, Cart, Cart Subtotal
prices, buttons like Login and All Options & Categories. displays the limited products on
home page in some of the popular categories like,BMW, Sedan, Maxi taxi etc. Each product
has a Product title, their description, Price, Add to Cart and View More Button.

11
Category Product: There are lot of Categories in the Navigation bar. By click on
particular category. The products related to that category will appear. For Example, when
click on Mobile, all the available product related to mobile will appear

Search and View more:

You can search for a particular car like Sedan, Hatchback, 7-Seater, 11-Seater, Each Product
has a View More Button. On Click this View More the related Picture of that product will
appear and the View more button for that product is changed to ‘Go Home’ Button which
redirected to home page.

12
13
Designing
DFD (Data Flow Diagram):

DFD is the abbreviation for Data Flow Diagram. The flow of data of a system or a process is
represented by DFD. It also gives insight into the input and outputs of each entity and the
process itself. DFD does not have control flow and no loops or decision rules are present.
Specific operations depending on the type of data can be explained by a flowchart.

Context Level 0 DFD:

14
Level 1 DFD:

ER-Diagram:

15
16
Script Language Used
Cab Booking systems can involve multiple components, each requiring different
programming languages to fulfill their respective purposes. Here are some common scripting
languages and their typical use cases in a Cab Booking system:

1. JavaScript:

• JavaScript is essential for frontend development and creating dynamic user


interfaces.

• It's used in conjunction with HTML, CSS and BOOTSTRAP to build interactive web
pages.

• JavaScript frameworks like React, Angular, or Vue.js can enhance frontend


development.

2. SQL (Structured Query Language):

• SQL is essential for working with relational databases.

• Use SQL to manage and query the database, retrieve patient records, appointments,
and medical history.

3. PHP:

• PHP is often used for server-side scripting in web development.

• While not as popular in modern web applications, some legacy systems might use
PHP for certain components.

4. Back-End Functionality:

• PHP (Hypertext Preprocessor): PHP is used on the server-side to process data and
perform dynamic tasks. In Shopcart, PHP interacts with databases to manage product
inventory, process orders, calculate prices, and authenticate users. It enables the
server to generate dynamic content, such as personalized product. It is used to
manage user registration, login, and authentication processes. It ensures secure user
access to the website by verifying credentials and generating authentication tokens or
sessions. PHP manages the shopping cart functionality. It allows users to add,
remove, and view items in their carts. PHP calculates the total cost as users interact
with the website. PHP is used to manage product-related data in the backend. It
handles operations such as adding new products, updating product details, setting
prices, and managing inventory levels. Product information is stored in databases and
retrieved dynamically to display accurate information to users.

5. Database Interaction:
17
• SQL: SQL is used to retrieve specific data from the database. In Shopcart, this
includes querying product information, user profiles, order history, and more. For
example, SQL queries can retrieve product details based on categories, search, etc.
SQL is used to insert new records into the database, whether it's adding new products
to the catalog, creating user accounts, or storing order information. It's also used to
update existing records, such as modifying product prices, or updating user profile
information. SQL statements are used to remove records from the database when
products are discontinued, users delete their accounts, or orders are canceled.
Deletion ensures that the database remains accurate and up-to-date.

18
Database
Table Name: Sign Up

Table Name: admin

Description: To store the Admin Details

Table Name: Total booking record

Description: To store the booking details

Table Name: Total Brand record

Description: To store the brand details

19
Table Name: Contacted customer record

Description: To store the customer details

Table Name: Total Subscriber record

Description: To store the Subscribers details

Table Name: Total Testimonial record

Description: To store the Testimonial details

Table Name: Total User record

Description: To store the User details

20
Table Name: Total Vehicles record

Description: To store the Vehicles details

1-Part

2-Part

3-Part

21
Coding

1 (Index. php)
<?php

session_start();

include('includes/config.php');

error_reporting(0);

?>

<!DOCTYPE HTML>

<html lang="en">

<head>

<title>Car Rental Portal</title>

<!--Bootstrap -->

<link rel="stylesheet" href="assets/css/bootstrap.min.css" type="text/css">

<link rel="stylesheet" href="assets/css/style.css" type="text/css">

<link rel="stylesheet" href="assets/css/owl.carousel.css" type="text/css">

<link rel="stylesheet" href="assets/css/owl.transitions.css" type="text/css">

<link href="assets/css/slick.css" rel="stylesheet">

<link href="assets/css/bootstrap-slider.min.css" rel="stylesheet">

<link href="assets/css/font-awesome.min.css" rel="stylesheet">

<link rel="stylesheet" id="switcher-css" type="text/css"


href="assets/switcher/css/switcher.css" media="all" />

<link rel="alternate stylesheet" type="text/css"


href="assets/switcher/css/red.css" title="red" media="all" data-default-color="true" />

<link rel="alternate stylesheet" type="text/css"


href="assets/switcher/css/orange.css" title="orange" media="all" />

<link rel="alternate stylesheet" type="text/css"


href="assets/switcher/css/blue.css" title="blue" media="all" />

<link rel="alternate stylesheet" type="text/css"


href="assets/switcher/css/pink.css" title="pink" media="all" />

<link rel="alternate stylesheet" type="text/css"


href="assets/switcher/css/green.css" title="green" media="all" />

22
<link rel="alternate stylesheet" type="text/css"
href="assets/switcher/css/purple.css" title="purple" media="all" />

<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/images/favicon-


icon/apple-touch-icon-144-precomposed.png">

<link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/images/favicon-


icon/apple-touch-icon-114-precomposed.html">

<link rel="apple-touch-icon-precomposed" sizes="72x72"


href="assets/images/favicon-icon/apple-touch-icon-72-precomposed.png">

<link rel="apple-touch-icon-precomposed" href="assets/images/favicon-icon/apple-touch-


icon-57-precomposed.png">

<link rel="shortcut icon" href="assets/images/favicon-icon/favicon.png">

<link href="https://fonts.googleapis.com/css?family=Lato:300,400,700,900"
rel="stylesheet">

</head>

<body>

<!-- Start Switcher -->

<?php include('includes/colorswitcher.php');?>

<!-- /Switcher -->

<!--Header-->

<?php include('includes/header.php');?>

<!-- /Header -->

<!-- Banners -->

<section id="banner" class="banner-section">

<div class="container">

<div class="div_zindex">

<div class="row">

<div class="col-md-5 col-md-push-7">

<div class="banner_content">

<h1>&nbsp;</h1>

23
<p>&nbsp; </p>

</div>

</div>

</div>

</div>

</div>

</section>

<!-- /Banners -->

<!-- Resent Cat-->

<section class="section-padding gray-bg">

<div class="container">

<div class="section-header text-center">

<h2>Find the Best <span>CarForYou</span></h2>

<p>There are many variations of passages of Lorem Ipsum available, but the majority
have suffered alteration in some form, by injected humour, or randomised words which don't
look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to
be sure there isn't anything embarrassing hidden in the middle of text.</p>

</div>

<div class="row">

<!-- Nav tabs -->

<div class="recent-tab">

<ul class="nav nav-tabs" role="tablist">

<li role="presentation" class="active"><a href="#resentnewcar" role="tab" data-


toggle="tab">New Car</a></li>

</ul>

</div>

<!-- Recently Listed New Cars -->

<div class="tab-content">
24
<div role="tabpanel" class="tab-pane active" id="resentnewcar">

<?php $sql = "SELECT


tblvehicles.VehiclesTitle,tblbrands.BrandName,tblvehicles.PricePerDay,tblvehicles.FuelType
,tblvehicles.ModelYear,tblvehicles.id,tblvehicles.SeatingCapacity,tblvehicles.VehiclesOvervi
ew,tblvehicles.Vimage1 from tblvehicles join tblbrands on
tblbrands.id=tblvehicles.VehiclesBrand limit 9";

$query = $dbh -> prepare($sql);

$query->execute();

$results=$query->fetchAll(PDO::FETCH_OBJ);

$cnt=1;

if($query->rowCount() > 0)

foreach($results as $result)

?>

<div class="col-list-3">

<div class="recent-car-list">

<div class="car-info-box"> <a href="vehical-details.php?vhid=<?php echo


htmlentities($result->id);?>"><img src="admin/img/vehicleimages/<?php echo
htmlentities($result->Vimage1);?>" class="img-responsive" alt="image"></a>

<ul>

<li><i class="fa fa-car" aria-hidden="true"></i><?php echo htmlentities($result-


>FuelType);?></li>

<li><i class="fa fa-calendar" aria-hidden="true"></i><?php echo htmlentities($result-


>ModelYear);?> Model</li>

<li><i class="fa fa-user" aria-hidden="true"></i><?php echo htmlentities($result-


>SeatingCapacity);?> seats</li>

</ul>

</div>

<div class="car-title-m">

<h6><a href="vehical-details.php?vhid=<?php echo htmlentities($result->id);?>"> <?php


echo htmlentities($result->VehiclesTitle);?></a></h6>

<span class="price">$<?php echo htmlentities($result->PricePerDay);?> /Day</span>

25
</div>

<div class="inventory_info_m">

<p><?php echo substr($result->VehiclesOverview,0,70);?></p>

</div>

</div>

</div>

<?php }}?>

</div>

</div>

</div>

</section>

<!-- /Resent Cat -->

<!-- Fun Facts-->

<section class="fun-facts-section">

<div class="container div_zindex">

<div class="row">

<div class="col-lg-3 col-xs-6 col-sm-3">

<div class="fun-facts-m">

<div class="cell">

<h2><i class="fa fa-calendar" aria-hidden="true"></i>40+</h2>

<p>Years In Business</p>

</div>

</div>

</div>

<div class="col-lg-3 col-xs-6 col-sm-3">

<div class="fun-facts-m">

<div class="cell">

<h2><i class="fa fa-car" aria-hidden="true"></i>1200+</h2>

<p>New Cars For Sale</p>


26
</div>

</div>

</div>

<div class="col-lg-3 col-xs-6 col-sm-3">

<div class="fun-facts-m">

<div class="cell">

<h2><i class="fa fa-car" aria-hidden="true"></i>1000+</h2>

<p>Used Cars For Sale</p>

</div>

</div>

</div>

<div class="col-lg-3 col-xs-6 col-sm-3">

<div class="fun-facts-m">

<div class="cell">

<h2><i class="fa fa-user-circle-o" aria-hidden="true"></i>600+</h2>

<p>Satisfied Customers</p>

</div>

</div>

</div>

</div>

</div>

<!-- Dark Overlay-->

<div class="dark-overlay"></div>

</section>

<!-- /Fun Facts-->

<!--Testimonial -->

<section class="section-padding testimonial-section parallex-bg">

<div class="container div_zindex">

<div class="section-header white-text text-center">


27
<h2>Our Satisfied <span>Customers</span></h2>

</div>

<div class="row">

<div id="testimonial-slider">

<?php

$tid=1;

$sql = "SELECT tbltestimonial.Testimonial,tblusers.FullName from tbltestimonial join


tblusers on tbltestimonial.UserEmail=tblusers.EmailId where tbltestimonial.status=:tid limit
4";

$query = $dbh -> prepare($sql);

$query->bindParam(':tid',$tid, PDO::PARAM_STR);

$query->execute();

$results=$query->fetchAll(PDO::FETCH_OBJ);

$cnt=1;

if($query->rowCount() > 0)

foreach($results as $result)

{ ?>

<div class="testimonial-m">

<div class="testimonial-content">

<div class="testimonial-heading">

<h5><?php echo htmlentities($result->FullName);?></h5>

<p><?php echo htmlentities($result->Testimonial);?></p>

</div>

</div>

</div>

<?php }} ?>

</div>

</div>

</div>
28
<!-- Dark Overlay-->

<div class="dark-overlay"></div>

</section>

<!-- /Testimonial-->

<!--Footer -->

<?php include('includes/footer.php');?>

<!-- /Footer-->

<!--Back to top-->

<div id="back-top" class="back-top"> <a href="#top"><i class="fa fa-angle-up" aria-


hidden="true"></i> </a> </div>

<!--/Back to top-->

<!--Login-Form -->

<?php include('includes/login.php');?>

<!--/Login-Form -->

<!--Register-Form -->

<?php include('includes/registration.php');?>

<!--/Register-Form -->

<!--Forgot-password-Form -->

<?php include('includes/forgotpassword.php');?>

<!--/Forgot-password-Form -->

<!-- Scripts -->

<script src="assets/js/jquery.min.js"></script>

<script src="assets/js/bootstrap.min.js"></script>

<script src="assets/js/interface.js"></script>

<!--Switcher-->

<script src="assets/switcher/js/switcher.js"></script>

<!--bootstrap-slider-JS-->

29
<script src="assets/js/bootstrap-slider.min.js"></script>

<!--Slider-JS-->

<script src="assets/js/slick.min.js"></script>

<script src="assets/js/owl.carousel.min.js"></script>

</body>

<!-- Mirrored from themes.webmasterdriver.net/carforyou/demo/index.html by HTTrack


Website Copier/3.x [XR&CO'2014], Fri, 16 Jun 2017 07:22:11 GMT -->

</html>

Car-listing.php:-

<?php

session_start();

include('includes/config.php');

error_reporting(0);

?>

<!DOCTYPE HTML>

<html lang="en">

<head>

<title>Car Rental Portal | Car Listing</title>

<!--Bootstrap -->

<link rel="stylesheet" href="assets/css/bootstrap.min.css" type="text/css">

<!--Custome Style -->

<link rel="stylesheet" href="assets/css/style.css" type="text/css">

<!--OWL Carousel slider-->

<link rel="stylesheet" href="assets/css/owl.carousel.css" type="text/css">

<link rel="stylesheet" href="assets/css/owl.transitions.css" type="text/css">

<!--slick-slider -->

<link href="assets/css/slick.css" rel="stylesheet">

<!--bootstrap-slider -->

30
<link href="assets/css/bootstrap-slider.min.css" rel="stylesheet">

<!--FontAwesome Font Style -->

<link href="assets/css/font-awesome.min.css" rel="stylesheet">

<!-- SWITCHER -->

<link rel="stylesheet" id="switcher-css" type="text/css"


href="assets/switcher/css/switcher.css" media="all" />

<link rel="alternate stylesheet" type="text/css"


href="assets/switcher/css/red.css" title="red" media="all" data-default-color="true" />

<link rel="alternate stylesheet" type="text/css"


href="assets/switcher/css/orange.css" title="orange" media="all" />

<link rel="alternate stylesheet" type="text/css"


href="assets/switcher/css/blue.css" title="blue" media="all" />

<link rel="alternate stylesheet" type="text/css"


href="assets/switcher/css/pink.css" title="pink" media="all" />

<link rel="alternate stylesheet" type="text/css"


href="assets/switcher/css/green.css" title="green" media="all" />

<link rel="alternate stylesheet" type="text/css"


href="assets/switcher/css/purple.css" title="purple" media="all" />

<!-- Fav and touch icons -->

<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/images/favicon-


icon/apple-touch-icon-144-precomposed.png">

<link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/images/favicon-


icon/apple-touch-icon-114-precomposed.html">

<link rel="apple-touch-icon-precomposed" sizes="72x72"


href="assets/images/favicon-icon/apple-touch-icon-72-precomposed.png">

<link rel="apple-touch-icon-precomposed" href="assets/images/favicon-icon/apple-touch-


icon-57-precomposed.png">

<link rel="shortcut icon" href="assets/images/favicon-icon/favicon.png">

<link href="https://fonts.googleapis.com/css?family=Lato:300,400,700,900"
rel="stylesheet">

</head>

<body>

<!-- Start Switcher -->

<?php include('includes/colorswitcher.php');?>

31
<!-- /Switcher -->

<!--Header-->

<?php include('includes/header.php');?>

<!-- /Header -->

<!--Page Header-->

<section class="page-header listing_page">

<div class="container">

<div class="page-header_wrap">

<div class="page-heading">

<h1>Car Listing</h1>

</div>

<ul class="coustom-breadcrumb">

<li><a href="#">Home</a></li>

<li>Car Listing</li>

</ul>

</div>

</div>

<!-- Dark Overlay-->

<div class="dark-overlay"></div>

</section>

<!-- /Page Header-->

<!--Listing-->

<section class="listing-page">

<div class="container">

<div class="row">

<div class="col-md-9 col-md-push-3">

<div class="result-sorting-wrapper">

<div class="sorting-count">

<?php
32
//Query for Listing count

$sql = "SELECT id from tblvehicles";

$query = $dbh -> prepare($sql);

$query->execute();

$results=$query->fetchAll(PDO::FETCH_OBJ);

$cnt=$query->rowCount();

?>

<p><span><?php echo htmlentities($cnt);?> Listings</span></p>

</div>

</div>

<?php $sql = "SELECT tblvehicles.*,tblbrands.BrandName,tblbrands.id as bid from


tblvehicles join tblbrands on tblbrands.id=tblvehicles.VehiclesBrand";

$query = $dbh -> prepare($sql);

$query->execute();

$results=$query->fetchAll(PDO::FETCH_OBJ);

$cnt=1;

if($query->rowCount() > 0)

foreach($results as $result)

{ ?>

<div class="product-listing-m gray-bg">

<div class="product-listing-img"><img src="admin/img/vehicleimages/<?php echo


htmlentities($result->Vimage1);?>" class="img-responsive" alt="Image" /> </a>

</div>

<div class="product-listing-content">

<h5><a href="vehical-details.php?vhid=<?php echo htmlentities($result->id);?>"><?


php echo htmlentities($result->BrandName);?> , <?php echo htmlentities($result-
>VehiclesTitle);?></a></h5>

<p class="list-price">$<?php echo htmlentities($result->PricePerDay);?> Per


Day</p>

33
<ul>

<li><i class="fa fa-user" aria-hidden="true"></i><?php echo htmlentities($result-


>SeatingCapacity);?> seats</li>

<li><i class="fa fa-calendar" aria-hidden="true"></i><?php echo


htmlentities($result->ModelYear);?> model</li>

<li><i class="fa fa-car" aria-hidden="true"></i><?php echo htmlentities($result-


>FuelType);?></li>

</ul>

<a href="vehical-details.php?vhid=<?php echo htmlentities($result->id);?>"


class="btn">View Details <span class="angle_arrow"><i class="fa fa-angle-right" aria-
hidden="true"></i></span></a>

</div>

</div>

<?php }} ?>

</div>

<!--Side-Bar-->

<aside class="col-md-3 col-md-pull-9">

<div class="sidebar_widget">

<div class="widget_heading">

<h5><i class="fa fa-filter" aria-hidden="true"></i> Find Your Car </h5>

</div>

<div class="sidebar_filter">

<form action="search-carresult.php" method="post">

<div class="form-group select">

<select class="form-control" name="brand">

<option>Select Brand</option>

<?php $sql = "SELECT * from tblbrands ";

$query = $dbh -> prepare($sql);

$query->execute();

$results=$query->fetchAll(PDO::FETCH_OBJ);

$cnt=1;

34
if($query->rowCount() > 0)

foreach($results as $result)

{ ?>

<option value="<?php echo htmlentities($result->id);?>"><?php echo htmlentities($result-


>BrandName);?></option>

<?php }} ?>

</select>

</div>

<div class="form-group select">

<select class="form-control" name="fueltype">

<option>Select Fuel Type</option>

<option value="Petrol">Petrol</option>

<option value="Diesel">Diesel</option>

<option value="CNG">CNG</option>

</select>

</div>

<div class="form-group">

<button type="submit" class="btn btn-block"><i class="fa fa-search" aria-


hidden="true"></i> Search Car</button>

</div>

</form>

</div>

</div>

<div class="sidebar_widget">

<div class="widget_heading">

<h5><i class="fa fa-car" aria-hidden="true"></i> Recently Listed Cars</h5>

</div>

<div class="recent_addedcars">

<ul>
35
<?php $sql = "SELECT tblvehicles.*,tblbrands.BrandName,tblbrands.id as bid from
tblvehicles join tblbrands on tblbrands.id=tblvehicles.VehiclesBrand order by id desc limit 4";

$query = $dbh -> prepare($sql);

$query->execute();

$results=$query->fetchAll(PDO::FETCH_OBJ);

$cnt=1;

if($query->rowCount() > 0)

foreach($results as $result)

{ ?>

<li class="gray-bg">

<div class="recent_post_img"> <a href="vehical-details.php?vhid=<?php echo


htmlentities($result->id);?>"><img src="admin/img/vehicleimages/<?php echo
htmlentities($result->Vimage1);?>" alt="image"></a> </div>

<div class="recent_post_title"> <a href="vehical-details.php?vhid=<?php echo


htmlentities($result->id);?>"><?php echo htmlentities($result->BrandName);?> , <?php echo
htmlentities($result->VehiclesTitle);?></a>

<p class="widget_price">$<?php echo htmlentities($result->PricePerDay);?> Per


Day</p>

</div>

</li>

<?php }} ?>

</ul>

</div>

</div>

</aside>

<!--/Side-Bar-->

</div>

</div>

</section>

<!-- /Listing-->

36
<!--Footer -->

<?php include('includes/footer.php');?>

<!-- /Footer-->

<!--Back to top-->

<div id="back-top" class="back-top"> <a href="#top"><i class="fa fa-angle-up" aria-


hidden="true"></i> </a> </div>

<!--/Back to top-->

<!--Login-Form -->

<?php include('includes/login.php');?>

<!--/Login-Form -->

<!--Register-Form -->

<?php include('includes/registration.php');?>

<!--/Register-Form -->

<!--Forgot-password-Form -->

<?php include('includes/forgotpassword.php');?>

<!-- Scripts -->

<script src="assets/js/jquery.min.js"></script>

<script src="assets/js/bootstrap.min.js"></script>

<script src="assets/js/interface.js"></script>

<!--Switcher-->

<script src="assets/switcher/js/switcher.js"></script>

<!--bootstrap-slider-JS-->

<script src="assets/js/bootstrap-slider.min.js"></script>

<!--Slider-JS-->

<script src="assets/js/slick.min.js"></script>

<script src="assets/js/owl.carousel.min.js"></script>

</body>

</html>

(Logout)

37
<?php

session_start();

$_SESSION = array();

if (ini_get("session.use_cookies")) {

$params = session_get_cookie_params();

setcookie(session_name(), '', time() - 60*60,

$params["path"], $params["domain"],

$params["secure"], $params["httponly"]

);

unset($_SESSION['login']);

session_destroy(); // destroy session

header("location:index.php");

?>

38
(My-booking.php)
<?php

session_start();

error_reporting(0);

include('includes/config.php');

if(strlen($_SESSION['login'])==0)

header('location:index.php');

else{

?><!DOCTYPE HTML>

<html lang="en">

<head>

<title>Car Rental Portal - My Booking</title>

<!--Bootstrap -->

<link rel="stylesheet" href="assets/css/bootstrap.min.css" type="text/css">

<!--Custome Style -->

<link rel="stylesheet" href="assets/css/style.css" type="text/css">

<!--OWL Carousel slider-->

<link rel="stylesheet" href="assets/css/owl.carousel.css" type="text/css">

<link rel="stylesheet" href="assets/css/owl.transitions.css" type="text/css">

<!--slick-slider -->

<link href="assets/css/slick.css" rel="stylesheet">

<!--bootstrap-slider -->

<link href="assets/css/bootstrap-slider.min.css" rel="stylesheet">

<!--FontAwesome Font Style -->

<link href="assets/css/font-awesome.min.css" rel="stylesheet">

39
<!-- SWITCHER -->

<link rel="stylesheet" id="switcher-css" type="text/css"


href="assets/switcher/css/switcher.css" media="all" />

<link rel="alternate stylesheet" type="text/css"


href="assets/switcher/css/red.css" title="red" media="all" data-default-color="true" />

<link rel="alternate stylesheet" type="text/css"


href="assets/switcher/css/orange.css" title="orange" media="all" />

<link rel="alternate stylesheet" type="text/css"


href="assets/switcher/css/blue.css" title="blue" media="all" />

<link rel="alternate stylesheet" type="text/css"


href="assets/switcher/css/pink.css" title="pink" media="all" />

<link rel="alternate stylesheet" type="text/css"


href="assets/switcher/css/green.css" title="green" media="all" />

<link rel="alternate stylesheet" type="text/css"


href="assets/switcher/css/purple.css" title="purple" media="all" />

<!-- Fav and touch icons -->

<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/images/favicon-


icon/apple-touch-icon-144-precomposed.png">

<link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/images/favicon-


icon/apple-touch-icon-114-precomposed.html">

<link rel="apple-touch-icon-precomposed" sizes="72x72"


href="assets/images/favicon-icon/apple-touch-icon-72-precomposed.png">

<link rel="apple-touch-icon-precomposed" href="assets/images/favicon-icon/apple-touch-


icon-57-precomposed.png">

<link rel="shortcut icon" href="assets/images/favicon-icon/favicon.png">

<!-- Google-Font-->

<link href="https://fonts.googleapis.com/css?family=Lato:300,400,700,900"
rel="stylesheet">

<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->

<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->

<!--[if lt IE 9]>

<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>

<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>

<![endif]-->

40
</head>

<body>

<!-- Start Switcher -->

<?php include('includes/colorswitcher.php');?>

<!-- /Switcher -->

<!--Header-->

<?php include('includes/header.php');?>

<!--Page Header-->

<!-- /Header -->

<!--Page Header-->

<section class="page-header profile_page">

<div class="container">

<div class="page-header_wrap">

<div class="page-heading">

<h1>My Booking</h1>

</div>

<ul class="coustom-breadcrumb">

<li><a href="#">Home</a></li>

<li>My Booking</li>

</ul>

</div>

</div>

<!-- Dark Overlay-->

<div class="dark-overlay"></div>

</section>

<!-- /Page Header-->

<?php

$useremail=$_SESSION['login'];

$sql = "SELECT * from tblusers where EmailId=:useremail ";


41
$query = $dbh -> prepare($sql);

$query -> bindParam(':useremail',$useremail, PDO::PARAM_STR);

$query->execute();

$results=$query->fetchAll(PDO::FETCH_OBJ);

$cnt=1;

if($query->rowCount() > 0)

foreach($results as $result)

{ ?>

<section class="user_profile inner_pages">

<div class="container">

<div class="user_profile_info gray-bg padding_4x4_40">

<div class="upload_user_logo"> <img src="assets/images/dealer-logo.jpg" alt="image">

</div>

<div class="dealer_info">

<h5><?php echo htmlentities($result->FullName);?></h5>

<p><?php echo htmlentities($result->Address);?><br>

<?php echo htmlentities($result->City);?>&nbsp;<?php echo htmlentities($result-


>Country); }}?></p>

</div>

</div>

<div class="row">

<div class="col-md-3 col-sm-3">

<?php include('includes/sidebar.php');?

<div class="col-md-8 col-sm-8">

<div class="profile_wrap">

<h5 class="uppercase underline">My Booikngs </h5>

<div class="my_vehicles_list">

<ul class="vehicle_listing">

42
<?php

$useremail=$_SESSION['login'];

$sql = "SELECT tblvehicles.Vimage1 as Vimage1,tblvehicles.VehiclesTitle,tblvehicles.id as


vid,tblbrands.BrandName,tblbooking.FromDate,tblbooking.ToDate,tblbooking.message,tblbo
oking.Status,tblvehicles.PricePerDay,DATEDIFF(tblbooking.ToDate,tblbooking.FromDate)
as totaldays,tblbooking.BookingNumber from tblbooking join tblvehicles on
tblbooking.VehicleId=tblvehicles.id join tblbrands on tblbrands.id=tblvehicles.VehiclesBrand
where tblbooking.userEmail=:useremail order by tblbooking.id desc";

$query = $dbh -> prepare($sql);

$query-> bindParam(':useremail', $useremail, PDO::PARAM_STR);

$query->execute();

$results=$query->fetchAll(PDO::FETCH_OBJ);

$cnt=1;

if($query->rowCount() > 0)

foreach($results as $result)

{ ?>

<li>

<h4 style="color:red">Booking No #<?php echo htmlentities($result->BookingNumber);?


></h4>

<div class="vehicle_img"> <a href="vehical-details.php?vhid=<?php echo


htmlentities($result->vid);?>"><img src="admin/img/vehicleimages/<?php echo
htmlentities($result->Vimage1);?>" alt="image"></a> </div>

<div class="vehicle_title">

<h6><a href="vehical-details.php?vhid=<?php echo htmlentities($result->vid);?


>"> <?php echo htmlentities($result->BrandName);?> , <?php echo htmlentities($result-
>VehiclesTitle);?></a></h6>

<p><b>From </b> <?php echo htmlentities($result->FromDate);?> <b>To </b>


<?php echo htmlentities($result->ToDate);?></p>

<div style="float: left"><p><b>Message:</b> <?php echo htmlentities($result-


>message);?> </p></div>

</div>

<?php if($result->Status==1)

{ ?>

43
<div class="vehicle_status"> <a href="#" class="btn outline btn-xs active-
btn">Confirmed</a>

<div class="clearfix"></div>

</div>

<?php } else if($result->Status==2) { ?>

<div class="vehicle_status"> <a href="#" class="btn outline btn-xs">Cancelled</a>

<div class="clearfix"></div>

</div>

<?php } else { ?>

<div class="vehicle_status"> <a href="#" class="btn outline btn-xs">Not Confirm yet</a>

<div class="clearfix"></div>

</div>

<?php } ?>

</li>

<h5 style="color:blue">Invoice</h5>

<table>

<tr>

<th>Car Name</th>

<th>From Date</th>

<th>To Date</th>

<th>Total Days</th>

<th>Rent / Day</th>

</tr>

<tr>

<td><?php echo htmlentities($result->VehiclesTitle);?>, <?php echo htmlentities($result-


>BrandName);?></td>

<td><?php echo htmlentities($result->FromDate);?></td>

<td> <?php echo htmlentities($result->ToDate);?></td>

<td><?php echo htmlentities($tds=$result->totaldays);?></td>

<td> <?php echo htmlentities($ppd=$result->PricePerDay);?></td>


44
</tr>

<tr>

<th colspan="4" style="text-align:center;"> Grand Total</th>

<th><?php echo htmlentities($tds*$ppd);?></th>

</tr>

</table>

<hr />

<?php }} else { ?>

<h5 align="center" style="color:red">No booking yet</h5>

<?php } ?>

</ul>

</div>

</div>

</div>

</div>

</div>

</section>

<!--/my-vehicles-->

<?php include('includes/footer.php');?>

<!-- Scripts -->

<script src="assets/js/jquery.min.js"></script>

<script src="assets/js/bootstrap.min.js"></script>

<script src="assets/js/interface.js"></script>

<!--Switcher-->

<script src="assets/switcher/js/switcher.js"></script>

<!--bootstrap-slider-JS-->

<script src="assets/js/bootstrap-slider.min.js"></script>

<!--Slider-JS-->

<script src="assets/js/slick.min.js"></script>
45
<script src="assets/js/owl.carousel.min.js"></script>

</body>

</html>

<?php } ?>

46
Testing

Testing in Cab Booking website:


Testing a cab booking project involves thoroughly evaluating the application's functionality,
user experience, security, and performance to ensure it meets the intended requirements and
provides a seamless experience to users. Here are the key points and paragraphs outlining the
testing process for a cab booking project:

1. Functional Testing:

Functional testing assesses whether the application performs its intended functions correctly.
It involves testing various scenarios, such as:

Booking a cab: Testing the process of selecting a location, choosing a vehicle type, and
confirming the booking.

Cancelling a booking: Verifying that users can cancel a booking and that the appropriate
notifications are sent.

Driver allocation: Checking if the system assigns the nearest available driver to a booking.

Ride completion: Testing the process of marking a ride as complete and generating the
invoice.

Payment processing: Ensuring that payments are processed accurately and securely.

Notifications: Verifying that users receive timely notifications regarding booking


confirmation, driver details, and ride status.

2. User Experience (UX) Testing:

User experience testing focuses on the overall satisfaction of users when interacting with the
application. This includes:

Interface usability: Evaluating the ease of navigation, clarity of icons/buttons, and overall user
interface design.

Responsiveness: Testing the application on various devices and screen sizes to ensure it
adapts seamlessly.

User feedback: Gathering user opinions to identify any pain points, confusing elements, or
areas for improvement.

Flow validation: Ensuring that the booking process flows logically and intuitively,
minimizing user confusion.

3. Security Testing:

47
Security testing aims to identify vulnerabilities and ensure that user data remains confidential.
This involves:

Data encryption: Verifying that sensitive user data (like payment information) is encrypted
during transmission and storage.

Authentication and authorization: Ensuring that users can access only their own accounts and
perform actions they're authorized to do.

Input validation: Testing the application's resilience to malicious inputs that could lead to
attacks like SQL injection or cross-site scripting.

Session management: Checking that user sessions are properly managed to prevent
unauthorized access.

4. Performance Testing:

Performance testing assesses the application's speed, scalability, and responsiveness under
various conditions:

Load testing: Evaluating how the application performs under different user loads to ensure it
remains responsive.

48
49

You might also like