Professional Documents
Culture Documents
I hereby certify that the work which is being presented in the Training Report entitled, “Report Title” by
me, Aakash 1222351 in partial fulfillment of the requirements for the award of degree of Bachelor of
Technology in Computer Science & Engineering
at JMIT Radaur (Affiliated to Kurukshetra University Kurukshetra) is an authentic record of my own work
carried out under the supervision of Er. Ikshita Bansal
I would like to acknowledge and extended my heartfelt gratitude to Dr. Gaurav Sharma, Head of
Department who provided me the golden opportunity to undergo and complete this training
program.
I wish to express my thanks to Er. Ikshita Bansal who also helped me in conducting this study
and encouraged me throughout this journey.
Name of student
The end objectives of the training are to obtain an In-depth knowledge to:
HTML (Hypertext Markup Language): Understand the structure and semantics of web pages, including
elements, attributes, and how to create well-structured content.
CSS (Cascading Style Sheets): Learn how to style web pages using CSS, including selectors, properties, and
responsive design principles.
JavaScript: Gain proficiency in JavaScript, the programming language of the web, for client-side interactions,
including DOM manipulation and event handling.
Web Browsers: Understand how web browsers work, their rendering engines, and cross-browser compatibility
issues.
Front-End Frameworks: Explore popular front-end frameworks like React, Angular, or Vue.js for building
dynamic and interactive web applications.
Back-End Development: Learn about server-side programming languages like PHP and how to build server-
side logic.
Databases: Understand database management systems (e.g., MySQL) and how to work with databases for web
applications.
APIs (Application Programming Interfaces): Master the creation and consumption of APIs for integrating web
applications with external services and data sources.
Version Control: Use version control systems like Git to manage and collaborate on web development
projects.
Security: Develop a strong understanding of web security, including common vulnerabilities and how to secure
your web applications.
Performance Optimization: Learn techniques to optimize the performance of web applications, such as
minimizing load times and reducing resource usage.
Responsive Design: Ensure your web applications are accessible and functional on various devices and screen
sizes.
User Experience (UX) and User Interface (UI) Design: Understand the principles of UX and UI design to
create user-friendly and visually appealing web interfaces.
Testing and Debugging: Develop skills in testing and debugging web applications to identify and fix issues.
Web Accessibility: Learn how to make web content accessible to people with disabilities, following WCAG
guidelines.
Web Standards: Keep up with web standards and best practices, such as HTML5, CSS3, and ECMAScript, and
follow the latest developments in web technologies.
Continuous Learning: Web development is a continually evolving field, so make a commitment to ongoing
learning and staying updated with new tools and technologies.
Portfolio and Projects: Build a portfolio of web development projects that showcase your skills and
experience. Practical application is a key part of learning.
Table of Contents
Chapter 1: Introduction
Chapter 4: Proposed System Architecture and Design of the Problem (Flow Charts/ DFDs, if any)
Chapter 5: Prototyped Module Implementations (Pseudo-codes/Algorithms) / Inspection Results
Chapter 6: Future Scope & Limitations
Chapter 9: Appendix (containing code/ algorithms along with the Results/ Screen Prints (If any) *
Company Profile
Next algorithms of Core Education is totally alive to the needs and aspirations of the student
community and keeps itself abreast of the changes taking place on the industrial front of the
country and excelling in their field by providing industry training in the area of Full stack web
development.
The training division of Next Algorithms of Core Education has well trained, competent,
experienced and highly dedicated faculty to impart theoretical as well as practical learning to its
students, Regular involvement of the expert outside faculty having in-line experience from reputed
institutions and organizations help in improving the quality and gives wider exposure to the
students.
The Institute has good market rapport and sponsors their students for various live industrial
projects during and after the training to inculcate their skills and knowledge to the practical world.
The Institute is committed to provide quality vocational and technical education to its students, so
as to boost their morale and instill new confidence to prepare them to accept the challenges of life
and put their best foot forward in the march to success for betterment of their lot.
TRAINING SCHEDULE w.e.f. June 26, 202
Time Contents
Duratio
n
Introduction to HTML, HTML Document Structure , HTML Tags and
WEEK-1 Elements ,HTML Attributes.
(30-06-2022 to
04-07-2022)
CSS, Properties, Layout and Positioning, Selectors, Combinators, Responsive
Design, Transitions and Animations
WEEK-2
(07-07-2022 to
11-07-2022)
WEEK-3 Working with Navigation Controls i.e. Sitemap, Menu, Tree View
(22-07-2022 to Control.Working with database, Installation of MSSQL MSSQL,
18-07-2022) Basic SQL commands, Working with ADO.NET. Working with data
controls i.e. Grid View, Details View, Data List, Form View, List
View, Editing templates,
Designing and implementation of pages like login, signup, change
WEEK-4 password, Forgot Password etc., Working with standard login controls,
To send mail from smtp, website configurations and roles, Working
(21-07-2022 to with classes and objects, Ajax extensions i.e. cript Manager, Update
25-07-2022)
Panel, Timer, Update Progress etc., Installation of ajax control tool kit,
working with ajax kit around 50 controls, Web Services, WCF, Class
Encryption, Concept of hashing, Prevention of SQL injection attacks,
SEO and Deployment concepts.
WEEK-5 Project Work with Group Allotment, Title selection, requirement
analysis, Accessing templates, Designing logos, Layout designing by
(28-07-2022 to css.
01-08-2022)
WEEK-6 Designing, Implementation, Debugging and Testing, Building.
(04-08-2022 to
08-08-2022)
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.
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.
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:
Level 1
DFD:
ER-Diagram:
8) 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.
• Use SQL to manage and query the database, retrieve patient records, appointments, and medical history.
3. PHP:
• 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:
• 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.
Database
Table Name: Sign Up
1-Part
2-Part
3-Part
10. Coding
session_start();
include('includes/config.php');
error_reporting(0);
?>
<!DOCTYPE HTML>
<html lang="en">
<head>
<!--Bootstrap -->
</head>
<body>
<?php include('includes/colorswitcher.php');?>
<!--Header-->
<?php include('includes/header.php');?>
<div class="container">
<div class="div_zindex">
<div class="row">
<div class="banner_content">
<h1> </h1>
<p> </p>
</div>
</div>
</div>
</div>
</div>
</section>
<div class="container">
<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">
<div class="recent-tab">
</ul>
</div>
<div class="tab-content">
$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">
<ul>
</ul>
</div>
<div class="car-title-m">
</div>
<div class="inventory_info_m">
</div>
</div>
</div>
<?php }}?>
</div>
</div>
</div>
</section>
<section class="fun-facts-section">
<div class="row">
<div class="fun-facts-m">
<div class="cell">
<p>Years In Business</p>
</div>
</div>
</div>
<div class="fun-facts-m">
<div class="cell">
</div>
</div>
</div>
<div class="cell">
</div>
</div>
</div>
<div class="fun-facts-m">
<div class="cell">
<p>Satisfied Customers</p>
</div>
</div>
</div>
</div>
</div>
<div class="dark-overlay"></div>
</section>
<!--Testimonial -->
</div>
<div class="row">
<div id="testimonial-slider">
<?php
$tid=1;
$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">
</div>
</div>
</div>
<?php }} ?>
</div>
</div>
</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 -->
<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>
Car-listing.php:-
<?php
session_start();
include('includes/config.php');
error_reporting(0);
?>
<!DOCTYPE HTML>
<html lang="en">
<head>
<!--Bootstrap -->
<!--slick-slider -->
<!--bootstrap-slider -->
</head>
<body>
<?php include('includes/colorswitcher.php');?>
<!--Header-->
<?php include('includes/header.php');?>
<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>
<div class="dark-overlay"></div>
</section>
<!--Listing-->
<section class="listing-page">
<div class="container">
<div class="row">
<div class="result-sorting-wrapper">
<div class="sorting-count">
<?php
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=$query->rowCount();
?>
</div>
</div>
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
foreach($results as $result)
{ ?>
</div>
<div class="product-listing-content">
<ul>
</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-->
<div class="sidebar_widget">
<div class="widget_heading">
</div>
<div class="sidebar_filter">
<option>Select Brand</option>
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
foreach($results as $result)
{ ?>
<?php }} ?>
</select>
</div>
<option value="Petrol">Petrol</option>
<option value="Diesel">Diesel</option>
<option value="CNG">CNG</option>
</select>
</div>
<div class="form-group">
</div>
</form>
</div>
</div>
<div class="sidebar_widget">
<div class="widget_heading">
</div>
<div class="recent_addedcars">
<ul>
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
{
foreach($results as $result)
{ ?>
<li class="gray-bg">
</div>
</li>
<?php }} ?>
</ul>
</div>
</div>
</aside>
<!--/Side-Bar-->
</div>
</div>
</section>
<!-- /Listing-->
<!--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');?>
<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>
10.2 (Logout)
<?php
session_start();
$_SESSION = array();
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
}
unset($_SESSION['login']);
header("location:index.php");
?>
10.3 (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>
<!--Bootstrap -->
<!--slick-slider -->
<!--bootstrap-slider -->
<!-- Google-Font-->
<!-- 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]-->
</head>
<body>
<!-- Start Switcher -->
<?php include('includes/colorswitcher.php');?>
<!--Header-->
<?php include('includes/header.php');?>
<!--Page Header-->
<!--Page Header-->
<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>
<div class="dark-overlay"></div>
</section>
<?php
$useremail=$_SESSION['login'];
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
foreach($results as $result)
{ ?>
<div class="container">
</div>
<div class="dealer_info">
</div>
</div>
<div class="row">
<?php include('includes/sidebar.php');?
<div class="profile_wrap">
<div class="my_vehicles_list">
<ul class="vehicle_listing">
<?php
$useremail=$_SESSION['login'];
$sql = "SELECT tblvehicles.Vimage1 as Vimage1,tblvehicles.VehiclesTitle,tblvehicles.id as
vid,tblbrands.BrandName,tblbooking.FromDate,tblbooking.ToDate,tblbooking.message,tblbooking.Status,tblvehicles.PriceP
erDay,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->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
foreach($results as $result)
{ ?>
<li>
<div class="vehicle_title">
<p><b>From </b> <?php echo htmlentities($result->FromDate);?> <b>To </b> <?php echo htmlentities($result-
>ToDate);?></p>
</div>
<?php if($result->Status==1)
{ ?>
<div class="clearfix"></div>
</div>
</div>
<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>
</tr>
<tr>
</tr>
</table>
<hr />
<?php } ?>
</ul>
</div>
</div>
</div>
</div>
</div>
</section>
<!--/my-vehicles-->
<?php include('includes/footer.php');?>
<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>
<?php } ?>
Testing
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.
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:
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.
12. Bibliography
https://www.w3schools.com/html/default.asp
2. For database management I take help from
http://youtu.be/72U5Af8KUpA
https://youtu.be/vAF6_RTqmZK