0% found this document useful (0 votes)
28 views83 pages

VRM DOCFINALll

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

VRM DOCFINALll

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

A

Project Report

on

VEHICLE RENTAL MANAGEMENT

Submitted in partial fulfilment for the award of the degree


of

MASTER OF COMPUTER APPLICATIONS

Submitted by
T SURESH REDDY
(Reg. No. 22F61F0044)

Under the esteemed guidance


of
Mr. K G PONNAM BALAM,MCA.
Assistant Professor, Department of MCA.

Department of Master of Computer Applications

SIDDHARTH INSTITUTE OF ENGINEERING & TECHNOLOGY


(AUTONOMOUS)
(Approved by AICTE, New Delhi & Affiliated to JNTUA, Ananthapuramu)
(Accredited by NBA for Civil, EEE, Mech., ECE & CSE)
(Accredited by NAAC with ‘A+’ Grade)
Puttur -517583, Tirupati District, A.P.
(India)

2023 – 2024
SIDDHARTH INSTITUTE OF ENGINEERING &
TECHNOLOGY (AUTONOMOUS)
(Approved by AICTE, New Delhi & Affiliated to JNTUA, Ananthapuramu)
(Accredited by NBA for Civil, EEE, Mech., ECE & CSE)
(Accredited by NAAC with ‘A+’ Grade)
Puttur -517583, Tirupati District, A.P.
(India)

DEPARTMENT OF MASTER OF COMPUTER APPLICATIONS

CERTIFICATE
This is to certify that this project report titled “VEHICLE RENTAL MANAGEMENT” that is being
submitted by T SURESH REDDY (Reg. No. 22F61F00044 ) in partial fulfilment of the requirements for the
award of the Degree of Master of Computer Applications to JNTUA, ANANTHAPURAMU. This record is a
bonafide work carried out by him under my guidance and supervision during the academic year 2023-
2024.

Internal Guide Head of the Department

Submitted for the main project viva-voce examination held on .

Internal Examiner External Examiner


DECLARATION

I, T SURESH REDDY hereby declare that the project report entitled “VEHICLE RENTAL
MANAGEMENT” is original
and independent record of my project work, submitted to JNTUA, Ananthapuramu, under the
guidance of Mr. K G PONNAMBALAM, Assistant Professor in MCA Department,
SIDDHARTH INSTITUTE OF ENGINEERING & TECHNOLOGY (AUTONOMOUS),
Puttur, for the award of the degree of MASTER OF COMPUTER APPLICATIONS. The
results embodied in this project have not been submitted to any other University for award of
any degree.

Place: Puttur T SURESH REDDY


Date: Reg. No.: 22F61F0044
ACKNOWLEDGEMENT

I take this opportunity to acknowledge all the people who helping me to do my project a
successful one.

I am thankful to My Guide Mr. K G PONNAMBALAM, Assistant Professor,


Department of MASTER OF COMPUTER APPLICATIONS, for his valuable
guidance and suggestions in analysing and testing throughout the period of project work.

I wish to convey my heartfelt thanks to Head of the Department Mr. J S ANANDA


KUMAR, and Project Supervisor Mr. P BALAJI, Department of MASTER OF
COMPUTER APPLICATIONS, for their valuable guidance to make this project as
successful one.

I wish to express my profound gratitude to our dynamic principal Dr. K. Chandra


Sekhar Reddy, Ph.D. for his constant encouragement for completing the project
successfully.

I greatly convey my sincere thanks to our beloved chairman Dr. K. Ashok Raju, Ph.D.
and Vice Chairperson Dr. K. Indraveni, Ph.D. for providing me the ample facilities and
time for accomplishment of the project.

I extend my thanks to all staff members of the MCA Department who gave me the ethical
support for the completion of the project.

I also extend my thanks to my parents and my friends for the encouragement of preceding
the project in right way to complete the project in successful way.

(T Suresh reddy)
CONTENTS
S. No. CHAPTERS PAGE No.

ABSTRACT

LIST OF FIGURES i

LIST OF ABBREVIATIONS ii

1 INTRODUCTION 1

2 SYSTEM STUDY 4

3 SYSTEM ANALYSIS 6

4 SOFTWARE MODULES 7

5 SYSTEM ARCHITECTURE 8

6 SOFTWARE ENVIRONMENT 10

7 SYSTEM REQUIREMENTS 14

8 SYSTEM DESIGN 15

9 IMPLEMENTATION 27

10 SYSTEM TESTING 52

11 OUTPUT SCREENS 55

CONCLUSION

FUTURE ENHANCEMENT

REFERENCES
ABSTRACT
The Vehicle Rental Management project is a sophisticated web application designed to
streamline the process of renting vehicles and hiring drivers. It provides users with a seamless
platform where they can easily book vehicles and hire drivers separately or in combination.
The application features intuitive search functionalities that enable users to quickly find the
vehicles they need based on specific criteria, as well as the ability to select drivers using
unique identifiers. One of the key features of the platform is its comprehensive booking
management system. Users can access their complete booking and hiring history, making it
easy to track past transactions and manage upcoming rentals. This functionality enhances
convenience and transparency for users, ensuring they have full visibility into their rental and
hiring activities. Administrators are provided with a specialized admin page that gives them
control over various aspects of the platform. They can add new vehicles, manage existing
listings, and oversee driver availability. The admin dashboard provides real-time oversight of
all active bookings, allowing administrators to monitor customer contact details and ensure
smooth operations. Overall, the Vehicle Rental Management project aims to enhance
convenience and accessibility for both users and administrators. By streamlining the vehicle
rental and driver hiring experience, it makes it easier for individuals and businesses to find and
book the transportation services they need.

Keywords— Vehicle rental, Booking management, Admin dashboard, Unified platform ,


Convenience.
LIST OF FIGURES

S. No. FIGURE NAME PAGE No.


1 3.1 Overview of Block diagram 8

2 5.1 System Architecture 9

3 8.1 Use Case Diagram For System 16

4 8.2 Use Case Diagram For User 17

5 8.3 Class Diagram 18

6 8.4 Sequence Diagram 19

7 8.6 Deployment Diagram 20

8 8.5 Collaboration Diagram 20

9 8.7 Activity Diagram For System 21

10 8.8 Activity Diagram For User 22

11 8.9 Component Diagram 23

12 8.10 ER Diagram 24

13 8.11 DFD Level 1 26

14 8.12 DFD Level 2 27

i
LIST OF ABBREVIATIONS

S.NO. ACRONYMS ABBREVIATIONS

1 HTML Hyper Text Markup Language

2 CSS Cascading Style Sheet

3 KNN k-nearest neighbors

4 NB Naive Bayes

5 UML Unified Modeling Language

6 ER Entity Relationship

7 DFD Data Flow Diagram

8 DBMS Database Management System

9 RF Random forest

10 PHP Hypertext Preprocessor

11 XML Extensible markup language

12 JSON JavaScript Object Notation

ii
INTRODUCTION
VEHICLE RENTAL MANAGEMENT

1. INTRODUCTION
In the rapidly evolving landscape of transportation services, efficiency and convenience are
paramount. The Vehicle Rental Management project emerges as a solution tailored to meet
the dynamic needs of modern travelers and businesses alike. This comprehensive web
application redefines the vehicle rental and driver hiring experience, offering a seamless
platform where users can effortlessly book vehicles and hire drivers with ease.

Gone are the days of cumbersome booking processes and fragmented services. With the
Vehicle Rental Management project, users are empowered to navigate through a unified
platform, where they can search for desired vehicles based on specific criteria and select
drivers using unique identifiers. Whether booking vehicles for personal use or hiring drivers
for business engagements, the platform provides a one-stop solution, simplifying the entire
process from start to finish.

For users, convenience reigns supreme. Intuitive search functionalities ensure that finding
the perfect vehicle is a breeze, while comprehensive booking management features allow
users to access their complete history effortlessly. Simultaneously, administrators are
equipped with specialized tools to add new vehicles, manage listings, and oversee driver
availability seamlessly. Real-time oversight of all active bookings ensures that operations
run smoothly, enhancing the overall efficiency of the rental and hiring processes.

With the Vehicle Rental Management project, accessibility and convenience converge,
ushering in a new era of streamlined transportation services. Whether for individuals
seeking reliable transportation or businesses in need of efficient logistics solutions, this
project stands as a testament to innovation, simplifying the journey from booking to arrival.

DEPARTMENT OF MCA, 4
SIETK
SYSTEM STUDY
VEHICLE RENTAL MANAGEMENT

2. SYSTEM STUDY

The system study involves a comprehensive analysis of the existing vehicle rental and
driver hiring processes, as well as an evaluation of the proposed system's requirements
and functionalities. Key components of the system study include:

1. Understanding Current Processes: Conducting interviews and observations to gain


insights into how vehicle rental and driver hiring are currently managed. This involves
identifying pain points, inefficiencies, and areas for improvement within the existing
system.

2. User Requirements Analysis: Gathering requirements from stakeholders, including


customers, administrators, and drivers. This involves understanding their needs,
preferences, and expectations for the new system.

3. Market Analysis: Researching existing solutions and competitors in the vehicle


rental and driver hiring industry. This includes analyzing their features, pricing models,
and user feedback to identify potential opportunities and challenges for the proposed
system.

4.Technical Feasibility Assessment: Evaluating the technical feasibility of


implementing the proposed system. This involves assessing factors such as hardware
and software requirements, compatibility with existing systems, and scalability.

5.Cost-Benefit Analysis: Estimating the costs associated with developing and


implementing the proposed system, as well as the potential benefits in terms of
improved efficiency, customer satisfaction, and business growth. This helps in
determining the feasibility and return on investment of the project.

6. Risk Assessment: Identifying potential risks and challenges that may arise during
the development and implementation of the new system. This includes risks related to
technology, resources, market dynamics, and regulatory compliance, among others.

7. Timeline and Milestones: Establishing a timeline for the project, including key
milestones and deliverables. This helps in planning and monitoring progress
throughout the development and implementation phases.

By conducting a thorough system study, we can gain valuable insights into the current

DEPARTMENT OF MCA, 6
SIETK
VEHICLE RENTAL MANAGEMENT

landscape, user needs, technical requirements, and potential challenges, laying the
foundation for the successful development and implementation of the proposed vehicle
rental and driver hiring system.

DEPARTMENT OF MCA, 7
SIETK
SYSTEM ANALYSIS
VEHICLE RENTAL MANAGEMENT

3. SYSTEM ANALYSIS
System analysis involves a detailed examination of the requirements, processes, and
objectives of the proposed vehicle rental and driver hiring system. Key aspects of system
analysis include:

1. Requirements Gathering: Identifying and documenting the functional and non-


functional requirements of the system. This involves understanding the needs of
stakeholders, including customers, administrators, and drivers, and translating them into
specific system features and functionalities.
2. Use Case Modeling: Creating use case diagrams to illustrate the interactions between
system users (actors) and the various functionalities of the system. This helps in
understanding the flow of events and identifying potential scenarios that need to be
addressed by the system.
3. Data Modeling: Analyzing the data requirements of the system and designing an
appropriate data model. This includes identifying entities, attributes, and relationships,
and creating entity-relationship diagrams (ERDs) to visualize the structure of the
database.
4. Process Modeling: Mapping out the processes involved in vehicle rental and driver
hiring, from booking to payment to vehicle return. This helps in identifying
opportunities for automation, streamlining workflows, and improving efficiency.
5. System Architecture: Designing the overall architecture of the system, including the
hardware and software components, as well as the integration points with external
systems. This involves selecting appropriate technologies, frameworks, and platforms to
support the system's requirements.
6. Prototyping and Mockups: Developing prototypes and mockups to visualize the
user interface and demonstrate key functionalities of the system. This allows
stakeholders to provide feedback early in the development process and ensures that the
final system meets their expectations.
7. Risk Analysis: Identifying potential risks and uncertainties that may impact the
development and implementation of the system. This includes assessing risks related to
technology, resources, budget, timeline, and stakeholder expectations, and developing

DEPARTMENT OF MCA, 6
SIETK
VEHICLE RENTAL MANAGEMENT

strategies to mitigate them.

By conducting a thorough system analysis, we can ensure that the proposed vehicle
rental and driver hiring system meets the needs of stakeholders, is technically feasible,
and is well-positioned to achieve its objectives effectively and efficiently.

DEPARTMENT OF MCA, 7
SIETK
VEHICLE RENTAL MANAGEMENT

3.1.1 BLOCK DIAGRAM

Fig: 3.1 Overview of Block diagram

DEPARTMENT OF MCA, 8
SIETK
SOFTWARE MODULES
VEHICLE RENTAL MANAGEMENT

4. SOFTWARE MODULES
1. User Management Module: This module handles user registration, authentication,
and profile management functionalities for both customers and administrators.
2. Vehicle Management Module: Responsible for managing the inventory of available
vehicles, including adding new vehicles, updating vehicle details, and handling vehicle
bookings.
3. Driver Management Module: Manages the database of available drivers, including
their profiles, availability status, and assignments to vehicle bookings.
4. Booking Management Module: Handles the booking process, including searching for
available vehicles, selecting vehicles, specifying booking details, and confirming
bookings.
5. Payment Processing Module: Facilitates secure online payments for vehicle
bookings, integrating with payment gateways to handle transactions and generate
payment receipts.
6. Reporting and Analytics Module: Provides tools for generating reports and
analyzing data related to booking history, customer preferences, revenue trends, and
operational performance.
7. Notification Module: Sends automated notifications to users and administrators
regarding booking confirmations, updates on vehicle availability, payment reminders,
and other relevant information.
8.Admin Dashboard Module: Offers a centralized interface for administrators to
monitor and manage various aspects of the system, including vehicle listings, driver
assignments, and booking statuses.
9. Integration Module: Integrates with external systems and services, such as mapping
APIs for displaying vehicle locations, SMS gateways for sending notifications, and
accounting software for financial reporting.
10. Security Module: Implements security measures to protect user data, prevent
unauthorized access, and ensure compliance with data protection regulations.

These modules work together to provide a comprehensive and seamless experience for
users and administrators, streamlining the vehicle rental and driver hiring process from
start to finish.
SYSTEM ARCHITECTURE
VEHICLE RENTAL MANAGEMENT

5. SYSTEM ARCHITECTURE
5.1 OVERVIEW OF ARCHITECTURE

Fig: 5.1 Overview of system architecture

The Vehicle Rental Management System architecture comprises user interface modules handling
booking, search, payment, and notifications, all interacting with a central server. The server manages
authentication, booking, payment processing, and notification delivery, utilizing a database to store
user, vehicle, booking, and payment data. This setup ensures smooth user interactions, efficient
management of bookings, and seamless processing of payments and notifications.

DEPARTMENT OF MCA, SIETK 9


SOFTWARE ENVIRONMENT
VEHICLE RENTAL MANAGEMENT

6. SYSTEM ENVIRONMENT
6.1 NODE JS
Node.js is a powerful runtime environment that allows developers to run JavaScript code
outside of a web browser, making it ideal for server-side scripting and building scalable
network applications. Leveraging the V8 JavaScript engine from Google Chrome,
Node.js offers high performance and non-blocking, event-driven architecture, making it
particularly suitable for handling I/O-heavy tasks. Its package manager, npm, provides
access to a vast ecosystem of open-source libraries and tools, facilitating rapid
development and deployment of web applications. With its lightweight and efficient
nature, Node.js has become a cornerstone technology for building modern, real-time web
applications and microservices.
6.2 NODE JS CONCEPTS

Node.js encompasses several key concepts that are essential to understanding its
architecture and functionality:
1. Asynchronous and Event-Driven: Node.js operates on a non-blocking, event-driven
model, allowing it to handle multiple connections concurrently without the need for
threads. This asynchronous nature is fundamental for building highly scalable
applications, as it ensures that the server can efficiently handle I/O-bound operations
without waiting for each operation to complete before moving on to the next.
2. V8 JavaScript Engine: Node.js is built on top of the V8 JavaScript engine, developed
by Google for the Chrome browser. V8 compiles JavaScript code directly into machine
code for execution, resulting in high performance and efficiency. This integration
enables Node.js to execute JavaScript code outside of the browser environment, making
it suitable for server-side development.
3. Event Loop: At the core of Node.js is the event loop, which manages asynchronous
operations and schedules tasks to be executed when I/O operations complete or events
occur. The event loop continuously checks for new events in the event queue and
processes them one by one, ensuring that the application remains responsive and
performs efficiently.
4. Modules and npm: Node.js leverages a module system that allows developers to
organize code into reusable components. Modules encapsulate functionality and can be

DEPARTMENT OF MCA, 10
SIETK
VEHICLE RENTAL MANAGEMENT

easily shared and imported into other parts of the application. Additionally, Node.js
comes with npm (Node Package Manager), a powerful package manager that provides
access to a vast ecosystem of third-party libraries and tools, streamlining the
development process and fostering collaboration within the community.
5. Single-Threaded Architecture: Although Node.js operates on a single-threaded event
loop, it can still handle multiple concurrent connections efficiently by delegating I/O
operations to the operating system's kernel. This lightweight threading model minimizes
overhead and resource consumption, making Node.js suitable for building highly
scalable and responsive applications.

DEPARTMENT OF MCA, 11
SIETK
VEHICLE RENTAL MANAGEMENT

6.3 HISTORY OF NODE JS


Node.js was created by Ryan Dahl in 2009 with the goal of building scalable network
applications. Inspired by the event-driven, non-blocking I/O model of languages like
Python and Ruby, Dahl aimed to bring similar capabilities to JavaScript, a language
primarily known for its client-side use in web browsers.

The initial release of Node.js was based on the V8 JavaScript engine and provided a
runtime environment for executing JavaScript code outside of the browser. This allowed
developers to utilize JavaScript for server-side programming, enabling full-stack
development with a single language.

Node.js quickly gained popularity within the developer community due to its
performance, scalability, and ease of use. It found widespread adoption in building real-
time web applications, APIs, and microservices. Over the years, Node.js has evolved with
the support of a vibrant open-source community, with regular updates, enhancements, and
the expansion of its ecosystem through npm.

Today, Node.js is widely regarded as a fundamental technology for modern web


development, powering a vast array of applications across various industries and serving
as the backbone for many high-performance web services and applications.

6.4 NODE JS FEATURES


Node.js boasts several distinctive features that have contributed to its widespread
adoption and popularity among developers:

1. Asynchronous and Event-Driven: Node.js operates on a non-blocking, event-driven


architecture, allowing it to handle multiple connections concurrently without getting
blocked by I/O operations. This asynchronous nature enables efficient handling of I/O-
bound tasks, making Node.js particularly well-suited for building highly scalable and
responsive applications.

2. JavaScript Everywhere: Node.js enables developers to use JavaScript both on the


client-side and server-side, offering a unified language for full-stack development. This
eliminates the need to switch between different languages for front-end and back-end

DEPARTMENT OF MCA, 12
SIETK
VEHICLE RENTAL MANAGEMENT

development, streamlining the development process and reducing overhead.

3. High Performance: Built on top of the V8 JavaScript engine from Google Chrome,
Node.js delivers exceptional performance by compiling JavaScript code directly into
machine code for execution. This results in fast execution speeds and efficient resource
utilization, making Node.js ideal for building high-performance web applications and
services.

4. Lightweight and Efficient: Node.js adopts a lightweight, single-threaded architecture


that minimizes overhead and resource consumption. Its event-driven model allows it to
handle thousands of concurrent connections with low latency, making it well-suited for
building real-time applications and microservices.

5. Rich Ecosystem: Node.js benefits from a vast ecosystem of open-source libraries and
tools, thanks to npm (Node Package Manager). npm hosts over a million packages,
providing developers with access to a wide range of modules for building various
functionalities and integrating third-party services into their applications.

6. Scalability: Node.js is inherently scalable, both vertically and horizontally. Its event-
driven architecture allows it to efficiently utilize hardware resources, and its lightweight
nature enables easy horizontal scaling by deploying multiple instances of Node.js across
distributed systems.

7. Cross-Platform Compatibility: Node.js is cross-platform compatible, running on


various operating systems such as Windows, macOS, and Linux. This ensures that
applications built with Node.js can be deployed and run seamlessly across different
environments, offering flexibility and ease of deployment.

8. Community Support: Node.js enjoys strong community support with a large and active
developer community. This community contributes to the ongoing development of
Node.js by providing feedback, contributing code, creating tutorials, and offering support
through forums and online communities.

These features collectively make Node.js a powerful and versatile platform for building a
wide range of applications, from lightweight web servers to complex, real-time
applications and microservices.

DEPARTMENT OF MCA, 13
SIETK
VEHICLE RENTAL MANAGEMENT

6.5 NODE MODULES


Node.js modules are encapsulated units of code that can be reused across
different parts of an application. They help organize code into manageable and
reusable components, promoting modularity and maintainability. Node.js
provides a built-in module system that allows developers to create, import,
and export modules easily. Additionally, the npm (Node Package Manager)
ecosystem offers a vast repository of third-party modules that extend the
functionality of Node.js and streamline development.

Among the commonly used Node.js modules, four stand out in web
development:

1. body-parser:
body-parser is a middleware module for Node.js that parses incoming request
bodies in middleware before handlers, and makes them available under the
`req.body` property. It supports parsing of various types of request bodies
such as JSON, URL-encoded, and multipart/form-data. This module is
essential for processing form data and payloads sent by clients in HTTP
requests.

2. express:
Express is a minimalist web framework for Node.js that simplifies the process
of building web applications and APIs. It provides a robust set of features for
handling HTTP requests and responses, routing, middleware integration, and
view rendering. Express is highly flexible and allows developers to create
scalable and maintainable web applications with ease.

3. multer:
multer is a middleware module for handling multipart/form-data, which is
commonly used for uploading files in web applications. It extends the
functionality of Express by providing support for parsing and handling file

DEPARTMENT OF MCA, 14
SIETK
VEHICLE RENTAL MANAGEMENT

uploads. Multer simplifies the process of handling file uploads by providing


an easy-to-use API and integrating seamlessly with Express.

4. ejs:
EJS (Embedded JavaScript) is a simple templating language that enables
dynamic HTML generation in Node.js applications. It allows developers to
embed JavaScript code directly into HTML templates, making it easy to
generate dynamic content based on data from the server. EJS templates can be
used with Express to render HTML pages dynamically, enabling the creation
of dynamic web pages and views.

These modules, along with many others available in the Node.js ecosystem,
provide developers with the tools and functionality needed to build robust,
scalable, and feature-rich web applications and APIs.

DEPARTMENT OF MCA, 15
SIETK
SYSTEM REQUIREMENTS
VEHICLE RENTAL MANAGEMENT

7. SYSTEM REQUIRMENTS
7.1 HARDWARE REQUIRMENTS
• Processor - I3 Intel Processor
• RAM - 8GB (min)
• Hard Disk - 128 GB
• Key Board - Standard Windows Keyboard
7.2 SOFTWARE REQUIRMENTS
• Operating System - Windows 10
• Server-side Script - Node.js
• IDE - Vscode
• Libraries Used - Express, pg, bcrypt ,body-parser, passport.
• Frame Work - Express.js
• Data Base - postgreSQL

DEPARTMENT OF MCA, SIETK 14


SYSTEM DESIGN
VEHICLE RENTAL MANAGEMENT

8. SYSTEM DESIGN
8.1 UML DIAGRAMS
UML stands for Unified Modelling Language. UML is a standardized general- purpose
modelling language in the field of object-oriented software engineering. The standard is
managed, and was created by, the Object Management Group.
The goal is for UML to become a common language for creating models of object-
oriented computer software. In its current form UML is comprised of two major
components: a Meta-model and a notation. In the future, some form of method or
process may also be added to; or associated with, UML.
The Unified Modelling Language is a standard language for specifying, Visualization,
Constructing and documenting the artifacts of software system, as well as for business
modelling and other non-software systems.
The UML represents a collection of best engineering practices that have proven
successful in the modelling of large and complex systems.
The UML is a very important part of developing objects-oriented software and the
software development process. The UML uses mostly graphical notations to express the
design of software projects.
8.1.1 GOALS
The Primary goals in the design of the UML are as follows
1. Provide users a ready-to-use, expressive visual modelling Language so that they
can develop and exchange meaningful models.
2. Provide extendibility and specialization mechanisms to extend the core concepts.
3. Be independent of particular programming languages and development process.
4. Provide a formal basis for understanding the modelling language.
5. Encourage the growth of OO tools market.
6. Support higher level development concepts such as collaborations, frameworks,
patterns and components.
7. Integrate best practices.

DEPARTMENT OF MCA, 15
SIETK
VEHICLE RENTAL MANAGEMENT

8.1.2 USE CASE DIAGRAM FOR CUSTOMER AND ADMIN


1. A use case diagram in the Unified Modeling Language (UML) is a type of
behavioral diagram defined by and created from a Use-case analysis.
2. Its purpose is to present a graphical overview of the functionality provided by a
system in terms of actors, their goals (represented as use cases), and any dependencies
between those use cases.
3. The main purpose of a use case diagram is to show what system functions are
performed for which actor. Roles of the actors in the system can be depicted.

Fig 8.1: Use Case Diagram For Admin

DEPARTMENT OF MCA, 16
SIETK
VEHICLE RENTAL MANAGEMENT

Fig 8.2: Use Case Diagram for Customer

DEPARTMENT OF MCA, 17
SIETK
VEHICLE RENTAL MANAGEMENT

8.1.3 CLASS DIAGRAM


In software engineering, a class diagram in the Unified Modelling Language (UML)
is a type of static structure diagram that describes the structure of a system by
showing the system's classes, their attributes, operations (or methods), and the
relationships among the classes. It explains which class contains information

Fig 8.3: Class Diagram

DEPARTMENT OF MCA, 18
SIETK
VEHICLE RENTAL MANAGEMENT

8.1.4 SEQUENCE DIAGRAM

1. A sequence diagram in Unified Modelling Language (UML) is a kind of


interaction diagram that shows how processes operate with one another and in what
order.
2. It is a construct of a Message Sequence Chart. Sequence diagrams are sometimes
called event diagrams, event scenarios, and timing diagrams.

Fig 8.4: Sequence Diagram

DEPARTMENT OF MCA, 19
SIETK
VEHICLE RENTAL MANAGEMENT

8.1.5 COLLABORATION DIAGRAM


In collaboration diagram the method call sequence is indicated by some numbering
technique as shown below. The number indicates how the methods are called one
after another. We have taken the same order management system to describe the
collaboration diagram. The method calls are similar to that of a sequence diagram.
But the difference is that the sequence diagram does not describe the object
organization whereas the collaboration diagram shows the object organization.

Fig 8.5: Collaboration Diagram

8.1.6 DEPLOYMENT DIAGRAM


Deployment diagram represents the deployment view of a system. It is related to the
component diagram. Because the components are deployed using the deployment
diagrams. A deployment diagram consists of nodes. Nodes are nothing but physical
hardware’s used to deploy the application.

DEPARTMENT OF MCA, 20
SIETK
VEHICLE RENTAL MANAGEMENT

Fig 8.6: Deployment Diagram


8.1.7 ACTIVITY DIAGRAM
Activity diagrams are graphical representations of workflows of stepwise activities
and actions with support for choice, iteration and concurrency. In the Unified
Modelling Language, activity diagrams can be used to describe the business and
operational step- by-step workflows of components in a system. An activity diagram
shows the overall flow of control.

Fig 8.7: Activity Diagram For System

DEPARTMENT OF MCA, 21
SIETK
VEHICLE RENTAL MANAGEMENT

Fig 8.8: Activity Diagram For User

DEPARTMENT OF MCA, 22
SIETK
VEHICLE RENTAL MANAGEMENT

8.1.8 COMPONENT DIAGRAM


A component diagram, also known as a UML component diagram, describes the
organization and wiring of the physical components in a system. Component diagrams
are often drawn to help model implementation details and double-check that every
aspect of the system's required function is covered by planned development.

Fig 8.9 : Component Diagram

8.1.9 ER DIAGRAM

An Entity–relationship model (ER model) describes the structure of a database with


the help of a diagram, which is known as Entity Relationship Diagram (ER Diagram).
An ER model is a design or blueprint of a database that can later be implemented as a
database. The main components of E-R model are: entity set and relationship set.
An ER diagram shows the relationship among entity sets. An entity set is a group of
similar entities and these entities can have attributes. In terms of DBMS, an entity is a
table or attribute of a table in database, so by showing relationship among tables and
their attributes, ER diagram shows the complete logical structure of a database. Let’s
have a look at a simple ER diagram to understand this concept.

DEPARTMENT OF MCA, 23
SIETK
VEHICLE RENTAL MANAGEMENT

Fig: 8.10 ER Diagram


8.1.10 DFD
A Data Flow Diagram (DFD) is a traditional way to visualize the information flows
within a system. A neat and clear DFD can depict a good amount of the system
requirements graphically. It can be manual, automated, or a combination of both. It
shows how information enters and leaves the system, what changes the information
and where information is stored. The purpose of a DFD is to show the scope and
boundaries of a system as a whole. It may be used as a communications tool between
a systems analyst and any person who plays a part in the system that acts as the
starting point for redesigning a system.

DEPARTMENT OF MCA, 24
SIETK
VEHICLE RENTAL MANAGEMENT

Fig 8.11: DFD Level 0

Fig 8.12: DFD Level 1

DEPARTMENT OF MCA, 25
SIETK
IMPLEMENTATION
VEHICLE RENTAL MANAGEMENT

9. IMPLEMENTATION
9.1 INPUT DESIGN
Input design in the Vehicle Rental Management project focuses on creating intuitive and
user-friendly interfaces for users and administrators to input data and interact with the
system effectively. The design ensures that users can conveniently enter information
such as booking details, user profiles, vehicle information, and driver requirements
without encountering complexity or confusion. Key considerations for input design
include:It should serve specific purpose effectively such as storing, recording, and
retrieving the information.

 Designing forms with clear labels, logical flow, and intuitive input fields to make it
easy for users to enter required information accurately.

 Implementing validation checks to ensure data integrity and providing meaningful


error messages to guide users in correcting input errors.

 Using dropdown menus, radio buttons, and checkboxes where applicable to


simplify data input and reduce manual entry.

 Incorporating date and time pickers for selecting booking dates, times, and
duration to enhance precision and convenience.

 Ensuring input forms are responsive and optimized for mobile devices to
accommodate users accessing the platform from various devices.

9.1.1 The objectives of input design are

Objectives for Input Design

 Ease of use: Ensure that input forms are easy to understand and navigate,
minimizing user effort and cognitive load.

 Accuracy: Facilitate accurate data entry through intuitive design and validation
checks, reducing the likelihood of input errors.

 Efficiency: Streamline the input process to save users' time and effort, making it
convenient to input information quickly and efficiently.

 Accessibility: Ensure that input forms are accessible to users of all abilities,

DEPARTMENT OF MCA, 27
SIETK
VEHICLE RENTAL MANAGEMENT

including those using assistive technologies or accessing the platform via


mobile devices.

 User Satisfaction: Design input forms that meet users' needs and expectations,
enhancing overall satisfaction with the system and encouraging continued
usage.

9.2 OUTPUT DESIGN

Output design in the Vehicle Rental Management project focuses on presenting information to
users and administrators in a clear, organized, and visually appealing manner. The design
ensures that users can easily interpret and act upon the output generated by the system,
including booking confirmations, user profiles, vehicle listings, driver availability, and
administrative reports. Key considerations for output design include:

Structured Layout: Organizing output information into logical sections and layouts to facilitate
easy comprehension and navigation.
Visual Representation: Using charts, graphs, and visual elements to present data trends,
statistics, and insights in a visually engaging format.
Clear Labels and Descriptions: Providing clear labels, headings, and descriptions to help users
understand the meaning and context of the output presented.
Customization Options: Offering customization options for output views and preferences,
allowing users to tailor the presentation of information to their needs.
Interactive Elements: Incorporating interactive elements such as clickable links, buttons, and
filters to enable users to interact with the output and perform actions seamlessly.
Print-Friendly Formats: Ensuring that output can be easily printed or exported to PDF for
offline reference or sharing purposes.
Responsive Design: Optimizing output layouts for different screen sizes and devices to ensure
readability and usability across various platforms.

DEPARTMENT OF MCA, 28
SIETK
VEHICLE RENTAL MANAGEMENT

9.2.2 OBJECTIVES OF OUTPUT DESIGN


The objectives of input design are

• Clarity: Present output information clearly and concisely, avoiding clutter and
confusion to facilitate easy understanding.

• Relevance: Provide output that is relevant and meaningful to users' needs and tasks,
focusing on presenting pertinent information without overwhelming users with
irrelevant details.

• Insightfulness: Offer insights and analysis through visualizations and summaries,


helping users derive actionable insights from the output presented.

• Interactivity: Enable users to interact with the output dynamically, allowing them to
drill down into details, filter data, and perform actions as needed.

• Professionalism: Design output layouts that convey professionalism and credibility,


enhancing the overall perception of the system and instilling trust in users.

DEPARTMENT OF MCA, 29
SIETK
VEHICLE RENTAL MANAGEMENT

9.3 SOURCE CODE

i.header.ejs

<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>VehicleRentalManagement</title>

<link rel="shortcut icon" href="/images/logo_main_2.png" type="image/svg+xml">

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


<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?
family=Nunito:wght@400;600&family=Open+Sans&display=swap"
rel="stylesheet">
</head>

<body>
<header class="header" data-header>
<div class="container">

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

<a href="/" class="logo ">


<img src="/images/logo_main_2.png" alt="logo" class="logo-main">
</a>
<nav class="navbar" data-navbar>

DEPARTMENT OF MCA, 30
SIETK
VEHICLE RENTAL MANAGEMENT

<ul class="navbar-list">
<li>
<a href="/" class="navbar-link" data-nav-link>Home</a>
</li>

<li>
<a href="vehicles" class="navbar-link" data-nav-link>Explore Vehicle</a>
</li>

<li>
<a href="drivers" class="navbar-link" data-nav-link>Hire Drivers</a>
</li>
<% if(locals.isLoggedIn && isLoggedIn === true){ %>
<li>
<a href="history" class="navbar-link" data-nav-link>Bookings and History</a>
</li>
<li>
<a href="/logout" class="navbar-link" data-nav-link>Logout</a>
</li>
<% }else{ %>
<li>
<a href="/login" class="navbar-link" data-nav-link>Sign in</a>
</li>
<li>
<a href="/login" class="navbar-link" data-nav-link>Sign up</a>
</li>
<% } %>
</ul>
</nav>

<div class="header-actions">

<a href="#featured-car" class="" aria-labelledby="aria-label-txt">

DEPARTMENT OF MCA, 31
SIETK
VEHICLE RENTAL MANAGEMENT

</a>
<button class="nav-toggle-btn" data-nav-toggle-btn aria-label="Toggle Menu">
<span class="one"></span>
<span class="two"></span>
<span class="three"></span>
</button>

</div>

</div>
</header>

ii. footer.ejs
<footer class="footer">
<div class="container">

<div class="footer-top">

<div class="footer-brand">
<a href="/" class="logo">
<img src="/images/logo_main_2.png" alt="Ridex logo" class="logo-main">
</a>

<p class="footer-text">

</p>
</div>

<ul class="footer-list">

<li <p class="footer-list-title">Company</p>

DEPARTMENT OF MCA, 32
SIETK
VEHICLE RENTAL MANAGEMENT

</li>
<li>
<a href="/vehicles" class="footer-link">Vehicles</a>
</li>
<li>
<a href="/bookingpage" class="footer-link">Book Vehicles</a>
</li>

<li>
<a href="/drivers" class="footer-link">Drivers</a>
</li>
<li>
<a href="/hiring" class="footer-link">Hire Drivers</a>
</li>

</ul>
<ul class="footer-list">
<li>
<p class="footer-list-title">Support</p>
</li>
<li>
<a href="#" class="footer-link">Privacy policy</a>
</li>

<li>
<a href="#" class="footer-link">Terms & conditions</a>
</li>
</ul>

</div>
<div class="footer-bottom">
<ul class="social-list">
<li>

DEPARTMENT OF MCA, 33
SIETK
VEHICLE RENTAL MANAGEMENT

<a href="#" class="social-link">


<ion-icon name="logo-facebook"></ion-icon>
</a>
</li>
<li>
<a href="#" class="social-link">
<ion-icon name="logo-instagram"></ion-icon>
</a>
</li>
<li>
<a href="#" class="social-link">
<ion-icon name="logo-twitter"></ion-icon>
</a>
</li>
<li>
<a href="#" class="social-link">
<ion-icon name="logo-linkedin"></ion-icon>
</a>
</li>
<li>
<a href="#" class="social-link">
<ion-icon name="logo-skype"></ion-icon>
</a>
</li>
<li>
<a href="#" class="social-link">
<ion-icon name="mail-outline"></ion-icon>
</a>
</li>
</ul>
<p class="copyright">
&copy; 2024 <a href="#">VehicleRentalManagement</a>. All Rights Reserved
</p>

DEPARTMENT OF MCA, 34
SIETK
VEHICLE RENTAL MANAGEMENT

</div>
</div>
</footer>
<script src="/js/script.js"></script>

<script type="module"
src="https://unpkg.com/[email protected]/dist/ionicons/ionicons.esm.js"></script>
<script nomodule src="https://unpkg.com/[email protected]/dist/ionicons/ionicons.js"></
script>
</body>
</html>

iii. index.ejs
<%-include("partials/header.ejs")%>
<main>
<article>
<section class="section hero bg-image-home" id="home">
<div class="container ">

<div class="hero-content ">


<h2 class="h1 hero-title">The easy way to takeover a lease</h2>

<p class="hero-text">

</p>
<% if(locals.isLoggedIn && isLoggedIn === true){ %>
<div class="buttons-container">
<a href="bookingpage"><button class="btn-bk" style="margin-right: 1rem;">BOOK
NOW</button></a>
<a href="hiring"><button class="btn-bk-2">HIRE NOW</button></a>
</div>
<% }else{ %>

DEPARTMENT OF MCA, 35
SIETK
VEHICLE RENTAL MANAGEMENT

<div class="buttons-container">
<a href="login"><button class="btn-bk" style="margin-right: 1rem;">BOOK
NOW</button></a>
<a href="login"><button class="btn-bk-2">HIRE NOW</button></a>
</div>
<% } %>
</div>
<div >
</div>
</div>
</section>
<section class="section featured-car" id="featured-car">
<% if(locals.featuredVehicles && featuredVehicles != -1){ %>
<div class="container">
<div class="title-wrapper">
<h2 class="h2 section-title">Featured cars</h2>
</div>
<ul class="featured-car-list">
<% featuredVehicles.forEach((vehicle) => { %>
<li>
<div class="featured-car-card">
<figure class="card-banner">
<img src="<%= vehicle.vehicle_image_path %>" alt="Toyota RAV4 2021"
loading="lazy" width="440" height="300"
class="w-100">
</figure>
<div class="card-content">
<div class="card-title-wrapper">
<h3 class="h3 card-title">
<a href="#"><%= vehicle.vehicle_model %></a>
</h3>
<data class="year" value="2021"><%= vehicle.launched_year %></data>
</div>

DEPARTMENT OF MCA, 36
SIETK
VEHICLE RENTAL MANAGEMENT

<ul class="card-list">
<li class="card-list-item ">
<ion-icon name="people-outline"></ion-icon>
<span class="card-item-text"><%= vehicle.seating_capacity %> People</span>
</li>
<li class="card-list-item ">
<ion-icon name="flash-outline"></ion-icon>
<span class="card-item-text"><%= vehicle.vehicle_type %></span>
</li>
<li class="card-list-item ">
<ion-icon name="speedometer-outline"></ion-icon>
<span class="card-item-text"><%= vehicle.milage %>km/litre</span>
</li>
<li class="card-list-item ">
<ion-icon name="hardware-chip-outline"></ion-icon>
<span class="card-item-text"><%= vehicle.transmission_type %></span>
</li>
</ul>
<div class="card-price-wrapper">
<p class="card-price">
<strong>Rs.<%= vehicle.price_per_day %></strong> / day
</p>
</div>
</div>
</div>
</li>
<% }); %>
</ul>
<div class="button-explore">
<a href="vehicles"><button class="btn">Explore more</button></a>
</div>
</div>
<% } %>

DEPARTMENT OF MCA, 37
SIETK
VEHICLE RENTAL MANAGEMENT

</section>

<section class="section featured-car" id="featured-car">


<% if(locals.featuredDrivers && featuredDrivers != -1){ %>
<div class="container">
<div class="title-wrapper">
<h2 class="h2 section-title">Expert Drivers</h2>
</div>
<ul class="featured-car-list">
<% featuredDrivers.forEach((driver) => { %>
<li>
<div class="featured-car-card">
<figure class="card-banner">
<img src="<%= driver.driver_image_path %>" alt="alex" loading="lazy"
width="440" height="300"
class="w-100">
</figure>
<div class="card-content">
<div class="card-title-wrapper">
<h3 class="h3 card-title">
<a href="#"><%= driver.driver_name %></a>
</h3>
<data class="year">D<%= driver.driver_id %></data>
</div>
<ul class="card-list">
<li class="card-list-item">
<ion-icon name="person-outline"></ion-icon>
<span class="card-item-text"><%= driver.age %> years old</span>
</li>
<li class="card-list-item">
<ion-icon name="transgender-outline"></ion-icon>
<span class="card-item-text"><%= (driver.gender=='M')?"Male":"Female"
%></span>

DEPARTMENT OF MCA, 38
SIETK
VEHICLE RENTAL MANAGEMENT

</li>
<li class="card-list-item">
<ion-icon name="speedometer-outline"></ion-icon>
<span class="card-item-text"><%= driver.experience %> yrs
experience</span>
</li>
<li class="card-list-item">
<ion-icon name="car-outline"></ion-icon>
<span class="card-item-text"><%= driver.drivable_vehicles %></span>
</li>
</ul>
<div class="card-price-wrapper">
<p class="card-price">
<strong>Rs.<%= driver.price_per_day %></strong> / day
</p>
</div>
</div>
</div>
</li>
<% }); %>
</ul>
<div class="button-explore">
<a href="drivers"><button class="btn">Explore more</button></a>
</div>
</div>
<% } %>
</section>
<section class="section get-start">
<div class="container">

<h2 class="h2 section-title">Start with these easy-to-follow steps.</h2>

<ul class="get-start-list">

DEPARTMENT OF MCA, 39
SIETK
VEHICLE RENTAL MANAGEMENT

<li>
<div class="get-start-card">

<div class="card-icon icon-1">


<ion-icon name="person-add-outline"></ion-icon>
</div>

<h3 class="card-title">Create an account</h3>

<p class="card-text">
If you want to book a vehicle or hire a drivers, you need to have an account first.
</p>

<a href="/login" class="card-link">Get started</a>

</div>
</li>

<li>
<div class="get-start-card">

<div class="card-icon icon-2">


<ion-icon name="car-outline"></ion-icon>
</div>

<h3 class="card-title">Find the vehicle you want</h3>

<p class="card-text">
Review vehicle options and details prior to selecting one in the booking form.
</p>

<a href="/vehicles" class="card-link">Explore vehicles</a>

DEPARTMENT OF MCA, 40
SIETK
VEHICLE RENTAL MANAGEMENT

</div>
</li>

<li>
<div class="get-start-card">

<div class="card-icon icon-3">


<ion-icon name="person-outline"></ion-icon>
</div>

<h3 class="card-title">Select the driver you need</h3>

<p class="card-text">
Go through the list of drivers and select the specific driver id you need in the hiring
form.
</p>
<a href="/drivers" class="card-link">Explore drivers</a>

</div>
</li>

<li>
<div class="get-start-card">

<div class="card-icon icon-4">


<ion-icon name="happy-outline"></ion-icon>
</div>

<h3 class="card-title">Tip: </h3>

<p class="card-text">
You need not to hire both driver and vehicle. Book just the vehicle or driver or both

DEPARTMENT OF MCA, 41
SIETK
VEHICLE RENTAL MANAGEMENT

as per your convinience


</p>

</div>
</li>

</ul>
</div>
</section>
</main>
<%-include("partials/footer.ejs")%>

iv. vehicles.ejs
<%-include("partials/header.ejs")%>
<section class="section featured-car" id="featured-car">
<div class="container">
<% if(locals.isLoggedIn && isLoggedIn === true){ %>
<div class="title-wrapper-2">
<a href="bookingpage"><button class="btn-bk" style="margin-right: 1rem;">BOOK
NOW</button></a>
</div>
<% }else{ %>
<div class="title-wrapper-2">
<a href="login"><button class="btn-bk" style="margin-right: 1rem;">BOOK
NOW</button></a>
</div>
<% } %>

<ul class="featured-car-list">

<% if(locals.errorMessage){ %>


<div class="message-container-2">

DEPARTMENT OF MCA, 42
SIETK
VEHICLE RENTAL MANAGEMENT

<p><%= errorMessage %></p>


</div>
<% }else{ %>
<% if(locals.vehicles && vehicles != -1){ %>
<% vehicles.forEach((vehicle) => { %>
<li>
<div class="featured-car-card">
<figure class="card-banner">
<img src= "<%= vehicle.vehicle_image_path %>" alt="Toyota RAV4 2021"
loading="lazy" width="440" height="300" class="w-100">
</figure>
<div class="card-content">
<div class="card-title-wrapper">
<h3 class="h3 card-title">
<a href="#"><%= vehicle.vehicle_model %></a>
</h3>
<data class="year"><%= vehicle.launched_year %></data>
</div>
<ul class="card-list">
<li class="card-list-item">
<ion-icon name="people-outline"></ion-icon>
<span class="card-item-text"><%= vehicle.seating_capacity %> People</span>
</li>
<li class="card-list-item">
<ion-icon name="flash-outline"></ion-icon>
<span class="card-item-text"><%= vehicle.vehicle_type %></span>
</li>
<li class="card-list-item">
<ion-icon name="speedometer-outline"></ion-icon>
<span class="card-item-text"><%= vehicle.milage %>km / litre</span>
</li>
<li class="card-list-item">
<ion-icon name="hardware-chip-outline"></ion-icon>

DEPARTMENT OF MCA, 43
SIETK
VEHICLE RENTAL MANAGEMENT

<span class="card-item-text"><%= vehicle.transmission_type %></span>


</li>
</ul>
<div class="card-price-wrapper">
<p class="card-price">
<strong><%= vehicle.price_per_day %></strong> / day
</p>
</div>
</div>
</div>
</li>
<% }); %>
<% }else{ %>
<div class="message-container-2">
<p>No vehicles are available at the moment.</p>
</div>
<% } %>
<% } %>
</ul>
</div>
</section>
<%-include("partials/footer.ejs")%>

DEPARTMENT OF MCA, 44
SIETK
SYSTEM TESTING
VEHICLE RENTAL MANAGEMENT

10. SYSTEM TESTING


The purpose of testing is to discover errors. Testing is the process of trying to discover every
conceivable fault or weakness in a work product. It provides a way to check the functionality
of components, sub-assemblies, assemblies and/or a finished product It is the process of
exercising software with the intent of ensuring that the Software system meets its
requirements and user expectations and does not fail in an unacceptable manner. There are
various types of test. Each test type addresses a specific testing requirement.

10.1 TYPES OF TESTS


10.1.1 Unit testing
Unit testing is usually conducted as part of a combined code and unit test phase of
the software lifecycle, although it is not uncommon for coding and unit testing to be
conducted as two distinct phases.
Test strategy and approach
Field testing will be performed manually and functional tests will be written in detail.

10.1.2 Test objectives


• All field entries must work properly.
• Pages must be activated from the identified link.
• The entry screen, messages and responses must not be delayed.

10.1.3 Features to be tested


• Verify that the entries are of the correct format
• No duplicate entries should be allowed
• All links should take the user to the correct page.
10.1.4 Functional testing
Functional tests provide systematic demonstrations that functions tested are available
as specified by the business and technical requirements, system documentation, and
user manuals.
Valid Input : identified classes of valid input must be accepted.
Invalid Input : identified classes of invalid input must be
rejected. Functions : identified functions must be exercised.

DEPARTMENT OF MCA, SIETK 52


VEHICLE RENTAL MANAGEMENT

Output : identified classes of application outputs must


be exercised.
Systems/Procedures : interfacing systems or procedures must be invoked.
Organization and preparation of functional tests is focused on requirements, key
functions, or special test cases. In addition, systematic coverage pertaining to identify
Business process flows; data fields, predefined processes, and successive processes
must be considered for testing. Before functional testing is complete, additional testsare
identified and the effective value of current tests is determined.

10.1.5 SYSTEM TEST


System testing ensures that the entire integrated software system meets requirements.
It tests a configuration to ensure known and predictable results. An example of system
testing is the configuration-oriented system integration test. System testing is based on
process descriptions and flows, emphasizing pre-driven process links and integration
points.

10.1.6 White Box Testing


White Box Testing is a testing in which in which the software tester has knowledge of
the inner workings, structure and language of the software, or at least its purpose. It is
purpose. It is used to test areas that cannot be reached from a black box level.

10.1.7 Black Box Testing


Black Box Testing is testing the software without any knowledge of the inner
workings, structure or language of the module being tested. Black box tests, as most
other kinds of tests, must be written from a definitive source document, such as
specification or requirements document, such as specification or requirements
document. It is a testing in which the software under test is treated, as a black box
.you cannot “see” into it. The test provides inputs and responds to outputs without
considering how the software works.
10.1.8 Integration testing
Integration tests are designed to test integrated software components to determine if
they actually run as one program. Testing is event driven and is more concerned with
the basic outcome of screens or fields. Integration tests demonstrate that although the
components were individually satisfaction, as shown by successfully unit testing, the

DEPARTMENT OF MCA, SIETK 53


VEHICLE RENTAL MANAGEMENT

combination of components is correct and consistent. Integration testing is specifically


aimed at exposing the problems that arise from the combination of components.

10.2 TEST CASES

S.NO Test cases I/O Expected O/T Actual O/T P/F

1 Add Vehicle Display at Display at P


vehicle details. user and user and
details. admin. admin
successfully.
2 Add driver driver details. Display at Display at P
details. user and user and
admin. admin
successfully.

3 Book a Booking date Display at Display at P


vehicle and vehicle active active
model bookings. bookings
successfully.

4 Hire a driver Hire date Display at Display at P


and driver active hirings. active hirings
id successfully.

DEPARTMENT OF MCA, SIETK 52


OUTPUT SCREENS
VEHICLE RENTAL MANAGEMENT

11. OUTPUT SCREENS

SCREEN 1: USER LOGIN/REGISTER PAGE

Above interface sign in and sign up page for user where user should enter phone number and
password to sign in and also another slide where user can sign up by entering his phone
number and new password. By clicking sign up user will be redirected to his home page.

DEPARTMENT OF MCA, 54
SIETK
VEHICLE RENTAL MANAGEMENT

SCREEN 2: ADMIN LOGIN PAGE

Above interface is sign in page for admin where he should enter his admin id and password
provided to him to sign up and it leads him to admin home page.

DEPARTMENT OF MCA, 55
SIETK
VEHICLE RENTAL MANAGEMENT

SCREEN 3: USER HOME SCREEN (BEFORE LOGIN)

Above interface is home page for user before login.It consist of navbar with options of Home,
Explore cars, Hire drivers, sign in and sign up which leads to respective pages.

DEPARTMENT OF MCA, 56
SIETK
VEHICLE RENTAL MANAGEMENT

SCREEN 4: USER HOME SCREEN (AFTER LOGIN)

Above interface is user homepage after login where new options of booking and history and
logout has been added to navbar . User will be redirected to respective pages when he click
book now and hire buttons.

DEPARTMENT OF MCA, 57
SIETK
VEHICLE RENTAL MANAGEMENT

SCREEN 5: VEHICLES SCREEN

Above interface is Explore vehicles page for user and When “book now” button is clicked it’ll
to booking page of vehicle.

DEPARTMENT OF MCA, 58
SIETK
VEHICLE RENTAL MANAGEMENT

SCREEN 6: DRIVERS SCREEN

Above interface is hire drivers page Where use can explore drivers with details and when
button “hire now” is clicked it’ll lead to hiring page.

DEPARTMENT OF MCA, 59
SIETK
VEHICLE RENTAL MANAGEMENT

SCREEN 7: BOOKINGS AND HIRINGS SCREEN

Above interface is booking and hiring page where current bookings and previous bookings will
be displayed of vehicles and user can also view divers status by clicking “drivers” button on
right of this page.

DEPARTMENT OF MCA, 60
SIETK
VEHICLE RENTAL MANAGEMENT

SCREEN 8: ADMIN HOME SCREEN

When admin logins above interface of admin home will be visible here in navbar vehicles ,
drivers, bookings, logout will be available and admin he can view listed vehicles and also by
clicking “add” button admin can add new vehicle to the list and with “remove” on each
vehicle admin can remove vehicle from listing.

DEPARTMENT OF MCA, 61
SIETK
VEHICLE RENTAL MANAGEMENT

SCREEN 9: ADMIN DRIVERS SCREEN

Above interface has listed drivers in drivers page where admin can add and remove drivers
with ‘add’ and “remove” buttons respectively.

DEPARTMENT OF MCA, 62
SIETK
VEHICLE RENTAL MANAGEMENT

SCREEN 10: ADMIN BOOKINGS AND HIRINGS SCREEN

Above interface is booking page where admin can view and manage booking of vehicle and
drivers by switching with buttons on top right .

DEPARTMENT OF MCA, 63
SIETK
CONCLUSION
CONCLUSION
In conclusion, the vehicle rental and driver hiring system offers a comprehensive solution to
streamline the process of booking vehicles and hiring drivers. By leveraging digital
platforms and intuitive user interfaces, the system aims to enhance convenience,
accessibility, and efficiency for both customers and administrators.

Through the analysis of existing processes and requirements, as well as the design and
implementation of various software modules, the system addresses key challenges such as
manual processes, limited accessibility, and fragmented services.

The proposed system includes modules for user management, vehicle management, driver
management, booking management, payment processing, reporting and analytics,
notification, admin dashboard, integration, and security. These modules work together
seamlessly to provide a seamless and user-friendly experience.

With automated processes, real-time updates, secure payments, and comprehensive


reporting, the system aims to optimize operations, improve customer satisfaction, and drive
business growth in the competitive vehicle rental and driver hiring industry.

Overall, the vehicle rental and driver hiring system represents a significant step forward in
modernizing transportation services, offering a centralized platform that simplifies the
booking process, enhances user experience, and ultimately transforms the way people access
and utilize vehicles and drivers.
FUTURE ENHANCEMENT
FUTURE ENHANCEMENT

In the future, the Vehicle Rental Management System could benefit


from several enhancements to stay competitive and improve user
experience. Integrating IoT sensors into rental vehicles could offer
real-time data for better fleet management and predictive
maintenance. Implementing AI-powered recommendation systems
can personalize vehicle suggestions based on user preferences and
external factors. Adding support for various payment methods and
third-party payment providers can enhance flexibility in
transactions. Advanced analytics and reporting capabilities can
provide valuable insights for strategic decision-making and
operational optimizations. Augmented reality integration can offer
immersive vehicle visualization experiences for users.
Strengthening security measures and exploring expansion into new
markets can further enhance the system's capabilities and reach.
These enhancements aim to ensure the system remains innovative
and adaptable to meet evolving user needs and industry trends.
REFERENCES
REFERENCES
[1] Author: Amey Thakur Car Rental System July 2021
DOI:10.22214/ijraset.2021.36339 [2] Author: Bayi Waspodo, Qurrotul Aini,
Syamsuri Nur. Development of Car Rental Management Information Systems (Case
Study: Avis Indonesia)
[3] Mr. Khaled, Shyamsif Sha Mostafa, Arefin. Software Requirements Specification
for Online Car Rental System Jan 2015
[4] Authors: Md Rayzun Hasnath, Nesar Ali. DEVELOPMENT OF AN ONLINE
BASED DRIVER RECRUITMENT SYSTEM December 2017 Conference: 4th
International Conference on Mechanical Engineering and Renewable Energy
ICMERE 2017 [5] Recruitment in the 21st Century Jan 2012887-901 O. Shafique,
"Recruitment in the 21st Century", International Journal of Contemporary Research in
Business, Vol. 4, No. 2, 2012, pp. 887-901.

You might also like