CarProjectFinalReport
CarProjectFinalReport
The Car Rental System is being developed for customers so that they can book their vehicles
from any part of the world. This application takes information from the customers through
filling their details. A customer being registered in the website has the facility to book a
vehicle which he requires. It is an online system through which customers can view available
cars, register and book car. We developed this project to book a car on rent at the fare
charges. In present system all booking work done manually and it takes very hard work to
maintain the information of booking and cars. if you want to find which vehicle is available
for booking then it takes a lot of time. It only makes the process more difficult and hard.
This aim of the project is to automate the work performed in the car rental management
system like records of cab, cabs available for booking, rental charges for cars, store records
of the customer. CaRs is a car booking software that provides a complete solution to all your
day-to-day car booking office running needs. This system helps you to keep the information
of customer online. You can check your customer information any time by using this system.
Online car rental management system is a unique and innovative product. Based on this
information you can take decision regarding your business developmen
1
ACKNOWLEDGEMENT
I would like to express my sincere gratitude to my guide, Ms. Pavithra Y.S, Department of Computer
Applications, for her continuous support, encouragement, and valuable guidance throughout this
project. Her in-depth knowledge, technical expertise, and patient mentoring were critical to the
successful completion of this work.
I also extend my appreciation to the Head of Department, faculty members, and staff of Sri K.
Puttaswamy First Grade College for their support and for providing the required academic
environment to carry out this project.
Lastly, I am thankful to my family and friends who stood by me, encouraged me, and believed in my
capabilities. This accomplishment would not have been possible without them.
2
LIST OF FIGURES
Sl NO TITLE PAGE NO
Figure 3.1 ER Diagram of Car Rental System 7
Figure 3.2 Schema Diagram of Car Rental System 8
Figure 3.3 Block Diagram of Car Rental System 10
Figure 3.4 Flow Chart of Car Rental System 11
Figure 4.1.1 Code Snippet of Connection Module 14
Figure 4.1.2 Code Snippet of Delete Car Module 14
Figure 4.1.3 Code Snippet of Uploading Car Image Module 15
Figure 4.1.4 Code Snippet of Approve Module 16
Figure 6.1 Screenshot of Home page 20
Figure 6.2 Screenshot of User Register page 21
Figure 6.3 Screenshot of User Login page 21
Figure 6.4 Screenshot of View Car page 22
Figure 6.5 Screenshot of Booking page 23
Figure 6.6 Screenshot of Payment page 23
Figure 6.7 Screenshot of Payment successful page 24
Figure 6.8 Screenshot of Booking Status page 24
Figure 6.9 Screenshot of Feedback page 25
Figure 6.10 Screenshot of Contact Us page 25
Figure 6.11 Screenshot of Admin Login page 26
Figure 6.12 Screenshot of Vehicle Management page 26
Figure 6.13 Screenshot of Users page 27
Figure 6.14 Screenshot of Add Car page 27
Figure 6.15 Screenshot of Bookings page 28
LIST OF TABLES
Sl NO TITLE PAGE NO
Table 5.1 Test Case for Login 18
Table 5.2 Test Case for Register 18
Table 5.3 Test Case for Payment 19
Table 5.4 Test Case for Booking 19
Table 5.5 Test Case for Feedback 19
TABLE OF CONTENTS
Abstract ...................................................................................................................1
Acknowledgement ................................................................................................... 2
3 System Design 7
4 Implementation 13
5 Testing 17
6 Snapshots 20
7 Conclusion 29
References
30
Car Rental System
Chapter 1
INTRODUCTION
A database management system (DBMS) refers to the technology for creating and managing
databases. DBMS is a software tool to organize (create, retrieve, update and manage) data
in a database. The main aim of a DBMS is to supply a way to store up and retrieve database
information that is both convenient and efficient. By data, we mean known facts that can be
recorded and that have embedded meaning. Normally people use software such as DBASE
IV or V, Microsoft ACCESS, or EXCEL to store data in the form of a database. Database
systems are meant to handle a large collection of information. Management of data involves
both defining structures for the storage of information and providing mechanisms that can
do the manipulation that stored information. Moreover, the database system must ensure the
safety of the information stored, despite system crashes or attempts at unauthorized access.
1.2 Objective
To produce a web-based system that allow customer to register and reserve car online
and for the company to effectively manage their car rental business.
To ease customer’s task whenever they need to rent a car.
As all the system is computerized, there is no need to fill any application form for
renting purpose. So, the paperwork will be very less.
To make sure a user gets his desire car as early as possible. The car rental system
will provide a faster response to complete the process.
1
Car Rental System
1.4 SQL
1.5 PHP
PHP is a server-side scripting language designed for web development but also used as a
general-purpose programming language. PHP is now installed on more than 244 million
websites and 2.1 million web servers. Originally created by Rasmus Lerdorf in 1995, the
reference implementation of PHP is now produced by The PHP Group. While PHP
originally stood for Personal Home Page, it now stands for PHP: Hyper Text Preprocess
.PHP code is interpreted by a webserver with a PHP processor module, which generates the
resulting web page PHP commands can be embedded directly into an HTML source
document rather than calling an external file to process data. It has also evolved to include
a command-line interface capability and can be used in standalone graphical applications.
PHP is free software released under the PHP License. PHP can be deployed on most web
servers and also as a standalone shell on almost every operating system and platform, free
of charge.
1.6 HTML5
HTML5 is a markup language used for structuring and presenting content on the World
Wide Web. It is the fifth and last major HTML version that is a World Wide Web
Consortium (W3C) recommendation. The current specification is known as the HTML
Living Standard. It is maintained by the Web Hypertext Application Technology Working
Group (WHATWG), a consortium of the major browser vendors (Apple, Google, Mozilla,
and Microsoft).
2
Car Rental System
1.7 CSS3
Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation
of a document written in a markup language such as HTML. CSS is a cornerstone technology
of the World Wide Web, alongside HTML and JavaScript. CSS is designed to enable the
separation of presentation and content, including layout, colors, and fonts. This separation
can improve content accessibility; provide more flexibility and control in the specification
of presentation characteristics; enable multiple web pages to share formatting by specifying
the relevant CSS in a separate .css file, which reduces complexity and repetition in the
structural content; and enable the .css file to be cached to improve the page load speed
between the pages that share the file and its formatting.
1.8 JAVASCRIPT
In this project apache server is used to parse and execute PHP pages, before deploying
websites on the server, the website should be tested at the developer side to get a feel of how
the website will work on actual server. Therefore apache server is like a local server on the
developer side, apache server should be informed about the environment on which it should
work. In our project apache server is configured to work with PHP, in this way all the PHP
pages are parsed and executed by the server. When apache is installed on the system, then it
services is controlled by apache service monitor.
3
Car Rental System
Chapter 2
These are statements of services the system should provide, how the system should react to
particular inputs and how the system should behave in particular situations. In some cases,
the functional requirements may also explicitly state what the system should not do. The
functional requirements for a system describe what the system should do. These
requirements depend on the type of software being developed, the expected users of the
software and the general approach taken by the organization when writing requirements.
When expressed as user requirements, the requirements are usually described abstractly.
However, functional system requirements describe the system function in detail, its inputs
and outputs, exceptions, and so on. Functional requirements for a software system may be
expressed in several ways.
Register Module:
The user needs to provide their first name, last name, email, license number, phone
number, password, confirm password, gender for registration.
These details will be stored in database.
Login Module:
Booking Module:
User can view the list of cars. The booking details of cars are provided by the admin.
User can select their preferred car and book for the same.
4
Car Rental System
Payment Module:
User should able to make payment by filling card number, expiry date and CVV are
provided by the admin.
After payment user will get the payment successful popup window.
Logout Module:
Hardware Requirements
Software Requirements
Non-functional requirements are requirements that are not directly concerned with the
specific functions delivered by the system. They may relate to emergent system properties
such as reliability, response time and store occupancy. Alternatively, they may define
constraints on the system such as the capabilities of I/O devices and the data representations
used in system interfaces. The plan for implementing functional requirements is detailed in
the system design. The plan for implementing non-functional requirements is detailed in the
system architecture. Non-functional requirements are often called qualities of a system.
Other terms for non-functional requirements are "constraints", "quality attributes", "quality
goals", "quality of service requirements" and "non-behavioral requirements". Qualities, that
are non-functional requirements, can be divided into two main categories: Execution
qualities, such as security and usability, which are observable at run time.
5
Car Rental System
Security:
The system should provide a high level of security and integrity of the data held by
the system , only authorized personnel of the company can gain access to the
company’s secured page on the system.
System provides security for the admin by allowing them to enter into the account
with their respective ID and password.
A user can only enter to their account by using their email and password. Only admin
have privileges to update database contents which are used by the user.
Performance:
The system should have high performance rate when executing user’s input and
should be able to provide feedback or response within a short time span usually 50
seconds for highly complicated task and 20 to 25 seconds for less complicated task.
The system provides user friendly interface, any common people with little
knowledge can use the system.
System is robust, reliable and fast, provides more efficiency.
Reliability:
It is the probability and percentage of the system performing without any failure for
a specific number of uses or amount of time.
Car rental system provides reliable interface as it provides data security and data
safety.
User can rely on the details present in the system, since it is provided by the admin.
Consistency:
The car rental system provides consistency services, by retaining the data present in
the database.
The user gets the details that are only provided by the admin, thus achieving
correctness of data in the database.
6
Car Rental System
Chapter 3
SYSTEM DESIGN
System Design process partitions the system into subsystems based on the requirements. It
establishes overall system architecture and is concerned with identifying various
components, specifying relationships among components, specifying software structure,
maintaining a record of design decisions and providing a blue print for the implementation
phase.
3.1 ER DIAGRAM
ER Diagram stands for Entity Relationship Diagram, also known as ERD is a diagram that
displays the relationship of entity sets stored in a database. In other words, ER diagrams help
to explain the logical structure of databases. ER diagrams are created based on three basic
concepts: entities, attributes and relationships.ER Diagrams contain different symbols that
use rectangles to represent entities, ovals to define attributes and diamond shapes to
represent relationships.
7
Car Rental System
In the Figure 3.1, there are total 6 entities namely Admin, User, Car, Booking, Payment and
Feedback Details. We took a relation APPROVE as a relationship between Admin and
Booking entity with 1:N cardinality ratio because One admin can approve many booking.
User entity has relationship DOES with Booking entity with N:M cardinality ratio since
many users can does many bookings. The relation User has M:N relationship named GIVES
with Feedback because Many user can give many feedbacks. Car has N:M relationship with
Booking entity as RENTS. Since car can have N bookings. Booking Details has 1:1
relationship between Payment .In our ER diagram the relation Booking and Payment is total
participation and relation admin and booking, relation user and booking, relation user and
feedback, relation car and booking are partial participation.
The design of the database is called a schema. This tells us about the structural view of the
database. It gives us an overall description of the database. A database schema defines how
the data is organized using the schema diagram. A schema diagram is a diagram which
contains entities and the attributes that will define that schema. A schema diagram only
shows us the database design. It does not show the actual data of the database. Schema can
be a single table or it can have more than one table which is related. The schema represents
the relationship between these tables.
8
Car Rental System
9
Car Rental System
A Block diagram is a diagram of a system in which the principal parts or functions are
represented by blocks connected by lines that show the relationships of the blocks. They are
heavily used in engineering in hardware design, electronic design, software design, and
diagrams. Block diagrams are typically used for higher level, less detailed descriptions that
are intended to clarify overall concepts without concern for the details of implementation.
Contrast this with the schematic diagrams and layout diagrams used in electrical
engineering, which show the implementation details of electrical components and physical
construction.
10
Car Rental System
In the Figure 3.3, the user and admin register themselves by providing their credentials.
These credentials are stored in the database. During the login phase, the user and admin
details are verified with the data present in the database. After verification, the authentic
user can only be allowed to enter and perform necessary operations. These operations
include fetching data from the database like adding/updating the car and booking details.
The users are allowed to see available cars and can done booking of cars and payment for
their booked cars. All these operations are performed on the database and are updated
accordingly. After all the intended operations are completed, the user can log out. The details
will be present in the database for the next time the user logs in.
3.4 Flowchart
A flowchart is a diagram that depicts a process, system or computer algorithm. They are
widely used in multiple fields to document, study, plan, improve and communicate often
complex processes in clear, easy-to-understand diagrams. Flowcharts, sometimes spelled as
flow charts, use rectangles, ovals, diamonds and potentially numerous other shapes to define
the type of step, along with connecting arrows to define flow and sequence. They can range
from simple, hand drawn charts to comprehensive computer-drawn diagrams depicting
multiple steps and routes.
11
Car Rental System
In the Figure 3.4 the user/admin enters his credentials for registration and later logins. If the
login credentials are correct and authentic, he is redirected to his web page. If an admin is
an authorized user, he is given the privilege of adding, updating the car, booking, payment
details. If an authentic user logs in, he gets the details of car and other related details, then
he can view list of cars then he can book car by providing valid details then he can get the
booking status of booked status of after making payment. After performing all the
operations, the user and admin can save and log out.
12
Car Rental System
Chapter 4
IMPLEMENTATION
PHP: Hypertext Pre-processor (or simply PHP) is a server-side scripting language designed
for web development, and also used as a general-purpose programming language. PHP code
may be embedded into HTML code, or it can be used in combination with various web
template systems, web content management systems, and web frameworks. PHP code is
usually processed by a PHP interpreter implemented as a module in the web server or as a
Common Gateway Interface (CGI) executable. The web server combines the results of the
interpreted and executed PHP code, which may be any type of data, including images, with
the generated web page. PHP code may also be executed with a command-line interface
(CLI) and can be used to implement standalone graphical applications.
This project uses HTML as front-end tool. Hypertext Mark-up Language (HTML) is the
standard mark-up language for creating web pages and web applications. With Cascading
Style Sheets (CSS) and JavaScript, it forms a triad of cornerstone technologies for the world
wide web. Web browser receive HTML documents from a web server or from local storage
and render the documents into multimedia web pages.HTML describes the structure of a
web page semantically and originally included cues for the appearance of the
document.HTML elements are the building blocks of HTML pages. With HTML constructs,
images and other objects such as interactive forms may be embedded into the rendered
page.HTML provides a means to create structured documents by structural semantics for
text such as headings, paragraphs, lists, links, quotes and other items.HTML elements are
delineated by tags, written using angle brackets. Browsers do not display the HTML tags,
but use them to interrupt the content of the page.
Snippet is a programming term for a small region of re-usable code, machine code or text.
Ordinarily, these are formally defined operative units to incorporate into large programming
modules.
These are few codes written in PHP that includes a database access to fetch, update or delete
the data stored and display these data in the website where required. We have also ensured
13
Car Rental System
to make sure the backend implementation is free from SQL injection attacks by escaping the
query values.
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$con = mysqli_connect('localhost','root','','carproject');
if(!$con)
{
echo 'please check your Database connection';
}
?>
Figure 4.1.1 Code snippet is used for connect to the SQL server. This required because other
code snippet to connect to the database and then access the data. If the connection fails, it
throws an error.
<?php
require_once('connection.php');
$carid=$_GET['id'];
$sql="DELETE from cars where CAR_ID=$carid";
$result=mysqli_query($con,$sql);
?>
Figure 4.1.2 Code snippet indicates the code for the deletion of the car. Only the admin can
delete the car.
14
Car Rental System
<?php
if(isset($_POST['addcar']) ){
require_once('connection.php');
echo "<prev>";
print_r($_FILES['image']);
echo "</prev>";
$img_name= $_FILES['image']['name'];
$tmp_name= $_FILES['image']['tmp_name'];
$error= $_FILES['image']['error'];
if($error === 0){
$img_ex = pathinfo($img_name,PATHINFO_EXTENSION);
$img_ex_lc= strtolower($img_ex);
$allowed_exs = array("jpg","jpeg","png","webp","svg");
if(in_array($img_ex_lc,$allowed_exs)){
$new_img_name=uniqid("IMG-",true).'.'.$img_ex_lc;
$img_upload_path='images/'.$new_img_name;
move_uploaded_file($tmp_name,$img_upload_path);
$carname=mysqli_real_escape_string($con,$_POST['carname'] );
$ftype=mysqli_real_escape_string($con,$_POST['ftype']);
$capacity=mysqli_real_escape_string($con,$_POST['capacity']);
$price=mysqli_real_escape_string($con,$_POST['price']);
$available="Y";
$query="INSERT INTO
cars(CAR_NAME,FUEL_TYPE,CAPACITY,PRICE,CAR_IMG,AVAILABLE)
values('$carname','$ftype',$capacity,$price,'$new_img_name','$available'
)";
$res=mysqli_query($con,$query);
if($res){
echo '<script>alert("New Car Added
Successfully!!")</script>';
echo '<script> window.location.href =
"adminvehicle.php";</script>'; }
}else{
$em = "You cant upload files of this type";
header("Location: addcar.php?error=$em");
}
}
else{
$em="unknown error occured";
header("Location: addcar.php?error=$em");
}
}
else{
echo "false";
}?>
Figure 4.1.3 Code snippet indicates the code for the adding the car image from the
admin and shows it to user.
<?php
require_once('connection.php');
$bookid=$_GET['id'];
$sql="SELECT *from booking where BOOK_Id=$bookid";
$result=mysqli_query($con,$sql);
$res = mysqli_fetch_assoc($result);
$car_id=$res['CAR_ID'];
$sql2="SELECT *from cars where CAR_ID=$car_id";
$carres=mysqli_query($con,$sql2);
$carresult = mysqli_fetch_assoc($carres);
if($carresult['AVAILABLE']=='Y')
{
if($res['BOOK_STATUS']=='APPROVED')
{
echo '<script>alert("ALREADY APPROVED")</script>';
echo '<script> window.location.href = "adminbook.php";</script>';
}
else{
$query="UPDATE booking set BOOK_STATUS='APPROVED' where
BOOK_ID=$bookid";
$queryy=mysqli_query($con,$query);
$sql2="UPDATE cars set AVAILABLE='N' where CAR_ID=$res[CAR_ID]";
$query2=mysqli_query($con,$sql2);
echo '<script>alert("APPROVED SUCCESSFULLY")</script>';
echo '<script> window.location.href = "adminbook.php";</script>';
}
}
else{
echo '<script>alert("CAR IS NOT AVAILABLE")</script>';
echo '<script> window.location.href = "adminbook.php";</script>';
}
?>
Figure 4.1.4 Code snippet indicates the code for approving the car registered by the user and
sends confirmation email to user.
16
Car Rental System
Chapter 5
TESTING
Software testing is the process of used to identify the correctness, security, completeness
and quality of developed computer software. This includes the process of executing the
program or applications with the intent of finding errors. An individual unit, functions or
procedures of developed project is verified and validated and these units are fit for use.
Best testing process is to test each subsystem separately, as we have done in project. Best
done during implementation. Best done after small sub-steps of the implementation rather
than large chunks. Once each lowest level unit has been tested, units are combined with
related units and retested in combination. This proceeds hierarchically bottom-up until the
entire system is tested as a whole. Typical levels of testing:
Alpha testing is acceptance testing with a single client (common for bespoke systems).
Beta testing involves distributing system to potential customers to use and provide feedback.
In this project, beta testing has been followed. This exposes system to situations and errors
that might not be anticipated by us.
Unit testing is the process of testing individual software components unit or modules. Since
it needs the detailed knowledge of the internal program design and code this task is done by
the programmer and not by testers.
17
Car Rental System
After the completion of each module it has been combined with the remaining module to
ensure that the project is working properly as expected.
5.1.3 System Testing
System testing tests a completely integrated system to verify that it meets its requirements.
After the completion of the entire module they are combined together to test whether the
entire project is working properly.
5.2 Test Cases
A Test Case is a software testing document, which consists of events, action, input, output,
expected result and actual result. Technically a test case includes test description, procedure,
expected result and remarks. Test cases should be based primarily on the software
requirements and developed to verify correct functionality and to establish conditions that
reveal potential errors.
Table 5.2 represents the test case for sign up module. It shows both successful and
unsuccessful results for the test cases.
18
Car Rental System
Table 5.3 represents the test case for Payment module. It shows both successful and
unsuccessful results for the test cases.
Table 5.4 represents the test case for Booking module. It shows both successful and
unsuccessful results for the test cases.
Table 5.5 represents the test case for Feedback module. It shows both successful and
unsuccessful results for the test cases.
19
Car Rental System
Chapter 6
SCREENSHOT
Figure 6.1 indicates the home page of our website CaRs. This contains navigation bar,
through which can navigate to other pages. It also contains some details about the website
at the home page.
20
Car Rental System
Figure 6.2 indicates the user registration page. It asks the user to enter the details like first
name, last name, email, license number, phone number, password, confirm password and
gender.
Figure 6.3 indicates user login page. It asks the user to enter the email and password in
order to enter the website CaRs.
21
Car Rental System
Figure 6.4 indicates view car page. It asks the user to choose the car it contains the details
like fuel type, capacity, rent per day.
22
Car Rental System
Figure 6.5 indicates the booking page.It asks the user to enter booking place,booking
date,duration,phone number,destination,return date.
Figure 6.6 indicates Payment page. It asks the user to enter details like card number, expiry
date, ccv.
23
Car Rental System
Figure 6.7 indicates payment successful page.After paying the payment by providing valid
information if the payment is successful it shows pop up message that payment is successful.
Figure 6.8 indicates bookig status page.It shows user booking details.
24
Car Rental System
Figure 6.9 indicates Feed back page.It asks the user enter details like name,email,comments
where registered user can give their valuable feed of their experience .
Figure 6.10 indicates contact us page. It asks the user to enter details like full name, email,
message where user can contact the company CaRs by sending message.
25
Car Rental System
Figure 6.11 indicates admin login page.It asks the admin to enter details like admin_id and
password.
Figure 6.12 indicates vehicle management page. It contains the details like car id, car name,
fuel type, capacity, price, available, delete where admin can see the car availability status
and delete the car details.
26
Car Rental System
Figure 6.13 indicates User page.It includes details like name,email,license no,phone
number,gender,delete user where admin can delete the user details.
Figure 6.14 indicates add car page. It includes details like car name, fuel type, capacity,
price, car image where admin can add the new car details by specifying it’s details.
27
Car Rental System
Figure 6.15 indicates booking page. It includes the details like car id, email, book place,
book date, phone number, destination, return date, booking status, approve, car returned
where admin can give approve to the bookings done by the user and can also check the
returned status of the car.
28
Car Rental System
Chapter 7
CONCLUSION
Online Car Rental Management System is user-friendly and customized software for car
renting company. Online Car Rental Management System has been developed to manage
and automate the overall processing of any large car renting company. Online Car Rental
Management System project is capable of managing cars, booking, feedbacks, payment etc.
It is a user friendly and customized software for providing support for company admin. This
project is a very flexible software and it can be upgraded according to the individual needs.
29
Car Rental System
REFERENCES
[1] Fundament also database system, Remez elmarsri Shamkanth b 7th edition,2017,
Pearson.
[2] The Joy of PHP Programming, Alan Forbes 5th edition, Plum Island.
[3]http://www.carrentingsolutions.com/
[5] https://www.w3schools.com/php
[6] https://www.tutorialspoint.com/javascript/index.htm/
30