You are on page 1of 50

Declaration

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

(Candidate Name & Signature)


Acknowledgement
The writing of this training report has been assisted by the generous help of many people. I feel
that I was very fortunate to receive assistance from them. I wish to express my sincere appreciation
to them.

First and foremost, I am indebted to my principal supervisor, Er./Mr. Supervisor Name


(Designation & Department) of Full Name of the Training Organization who has been very
supportive at every stage of my preparations. I wish to express my utmost gratitude to him/her for
his/her invaluable advice and patience in reading, correcting and commenting on the drafts of the
report and, more importantly, for his/her generosity which I have received throughout my training
program.

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.

Finally, I am particularly indebted to my dearest parents/guardians as without their generous


assistance and love; this dissertation could never have been completed.

Name of student

Full Roll No.


Preface
Objectives of the Training:
This curriculum based summer training program is providing an understanding about the essential
skills and knowledge required for proficient web development, enabling them to design, build, and
maintain interactive and responsive websites. This training will cover key front-end and back-end
technologies, including HTML, CSS, JavaScript, and popular frameworks such as React. Participants
will gain hands-on experience in coding, debugging, and deploying web applications, fostering a
comprehensive understanding of modern web development practices and tools.

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

Certificate of Training (Photo Copy Only)............................................................................i


Declaration............................................................................................................................ii
Acknowledgement.................................................................................................................iii
Preface (Objective of the Training).......................................................................................iv
Table of Contents...................................................................................................................v
Profile of the Company & Training Division........................................................................vi
Scheduled Chart of Training Activities.................................................................................vii
List of Figures….................................................................................................................................viii
List of Tables…..................................................................................................................................ix
List of Abbreviations…......................................................................................................................x

Chapters (As per the actual):

Chapter 1: Introduction

Chapter 2: Academic & Technical Importance of the Learning/Observed Sequence

Chapter 3: Detail Study of Processes/ Protocols/ Methods/ Languages/ Case Domain

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 7: Learning Outcomes & Conclusion

Chapter 8: Bibliography (No referencing to Wikipedia) in Proper Formatting

Chapter 9: Appendix (containing code/ algorithms along with the Results/ Screen Prints (If any) *
Company Profile

Next Algorithms of Core Education, Yamunanagar is a leading training institute in providing


career- oriented education to the students so as to equip them with requisite qualification and
training. This will enable them either to take up a gainful employment or start their own enterprise
and become self-sufficient. The organization has adequate infrastructure to cater the needs of
training courses being offered including a full-fledged Library and Computer labs.

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.

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.5. Payment:
After the ride, the customer would pay the driver directly, usually in cash. Sometimes, the cab company might
issue printed receipts for the payment.
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.
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.3. Automated Dispatching:
The system's algorithm would automatically dispatch the closest available driver to the customer's location. The
driver would receive a notification with the customer's details and navigation directions.
1.2.4. Real-Time Tracking:
Customers can track the assigned cab's real-time location on the app's map, providing them with accurate arrival
time estimates and improving transparency.
1.2.5. In-App Communication:
Customers and drivers can communicate through in-app messaging or calling, eliminating the need for direct
phone calls. This enables seamless communication for any changes or clarifications regarding the ride.
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.10 Cancellation Policies:
The app could include a cancellation policy where both customers and drivers can cancel rides within a certain
timeframe without incurring any charges.
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.
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.
Convenient Payment: Integrate secure and seamless payment methods to enable cashless transactions and simplify
the payment process.
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.
3)Module
3.1) Web Based Application
The Web-Based Cab Booking Application comprises various interconnected modules, each addressing specific
functionalities and user needs. These modules collectively create a comprehensive platform that offers a seamless
cab booking experience for passengers and efficient management tools for cab operators. Here are the key
modules:
3.1.1) User Registration and Authentication:
 Allows users to create accounts using email or social media credentials.
 Validates and stores user data securely.
 Provides password recovery and account verification mechanisms.
 Manages user authentication and session management.
3.1.2) Dashboard:
 Displays a personalized overview for users upon login.
 Provides quick access to recent rides, booking history, and favorite locations.
 Shows real-time updates on available cabs, estimated arrival times, and driver details.
3.1.3) Cab Booking:
 Enables users to specify pickup and drop-off locations on a map or through text input.
 Displays available ride options (e.g., economy, premium, shared) and fare estimates.
 Allows users to customize preferences (e.g., AC, wheelchair accessibility).
3.1.4) Real-Time Cab Tracking:
 Shows the live location of booked cabs on a map.
 Updates users with the driver's name, contact details, and estimated time of arrival (ETA).
 Provides route and navigation details to users and drivers.
3.1.5) Driver Management:
 Allows drivers to create accounts, submit necessary documents, and undergo verification.
 Displays ride requests and routes for accepted bookings.
 Provides navigation assistance and real-time traffic updates.
3.1.6) Ride History:
 Lists details of past rides, including routes, fare breakdown, payment methods, and driver information.
 Allows users to rate drivers and provide feedback on the ride experience.
3.1.7) Payment Integration:
 Integrates secure payment gateways for online transactions.
 Supports multiple payment methods such as credit/debit cards, digital wallets, and UPI.
 Stores payment details securely for future use.
3.1.8) Notifications and Alerts:
 Sends push notifications, SMS, or emails to users for booking confirmations, driver assignments, ride updates, and
promotions.
3.1.9) Customer Support:
 Provides a chatbot or messaging system for users to contact customer support.
 Allows users to report issues, ask questions, and receive assistance in real time.
Preliminary Investigation
A preliminary investigation of a cab booking project involves conducting initial research and analysis to determine
the feasibility, scope, and potential challenges of implementing such a system. Here's a general outline of the steps
you might take in your preliminary investigation:
Project Definition and Scope:
Clearly define the purpose of the project. Are you building a new cab booking platform, improving an existing
one, or conducting a feasibility study? Outline the main goals and objectives.
Identify Stakeholders:
Identify the main stakeholders, including users (passengers and drivers), administrators, and potentially other
relevant parties.
Feasibility Analysis: Assess the feasibility of the project in terms of technical, operational, and economic aspects.
Market Research: Research the existing cab booking systems and competitors in the market. Identify their
strengths, weaknesses, opportunities, and threats. Understand user preferences and pain points.
Functional and Non-Functional Requirements: Define the functional requirements (what the system should do)
and non-functional requirements (how well it should do it) of the cab booking system. This includes features like
booking, tracking, payment processing, user authentication, etc.
System Architecture and Design: Outline a high-level architecture of the system. Consider components like user
interfaces, backend servers, databases, and communication protocols.
Technology Stack: Decide on the programming languages, frameworks, databases, and tools you'll use to build the
system.
Data Security and Privacy: Address data security and privacy concerns, especially when dealing with sensitive
user information like location data, payment details, and personal information.
User Experience (UX) Design: Consider the user interface and overall user experience. Design user-friendly
interfaces for both passengers and drivers.
Risk Assessment: Identify potential risks that could impact the project's success, and plan strategies to mitigate or
address them.
Legal and Regulatory Considerations: Understand the legal requirements and regulations related to operating a cab
booking service, including data protection laws, transportation regulations, and payment processing compliance.
Project Timeline: Create a rough timeline that outlines the different phases of the project, from development to
testing and deployment.
Presentation and Approval:
Summarize your findings and recommendations in a preliminary investigation report. Present this report to
relevant stakeholders for approval before proceeding to the detailed design and development phases.
Remember that this is just a high-level overview of the preliminary investigation process. Depending on the
complexity and scale of your cab booking project, you might need to dive deeper into each of these steps and
potentially include additional considerations.
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:
- 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.
6) 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.
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.
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:
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.

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.

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:

• 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

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


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

Table Name: Total Vehicles record

Description: To store the Vehicles details

1-Part
2-Part

3-Part
10. Coding

10.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" />
<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>

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

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


<?php $sql = "SELECT
tblvehicles.VehiclesTitle,tblbrands.BrandName,tblvehicles.PricePerDay,tblvehicles.FuelType,tblvehicles.ModelYear,tblvehicl
es.id,tblvehicles.SeatingCapacity,tblvehicles.VehiclesOverview,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>

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

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

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

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

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

<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');?>

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

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

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

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>

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

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

10.2 (Logout)

<?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");

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

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

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

</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 ";

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

<?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 = $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)

{ ?>

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

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

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

</body>

</html>

<?php } ?>
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:

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

1. Html, Css, Javascript I refer this site

https://www.w3schools.com/html/default.asp
2. For database management I take help from

http://youtu.be/72U5Af8KUpA

3. Admin login Page functionality from

https://youtu.be/vAF6_RTqmZK

You might also like