Gap Remove File
Gap Remove File
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 28
Figure 6.2 Screenshot of types of cars available 28
Figure 6.3 Screenshot of view your car page 29
Figure 6.4 Screenshot of location of your car page 29
Figure 6.5 Screenshot of features of your car page 30
Figure 6.6 Screenshot of contact us page 30
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
A database management system (DBMS) refers to the technology for creating and managing
databases. DBMS is a software tool to organise (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 computerised, 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.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 Workin
Group (WHATWG), a consortium of the major browser vendors (Apple, Google, Mozilla, and
Microsoft).
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.
Chapter 2
Technologies Used
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.
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.
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.
Chapter 3
Plan Of Work
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.
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.
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 .
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.
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
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 of Delete Car Module
Figure 4.1.2 Code snippet indicates the code for the deletion of the car. Only the admin can
delete the car.
<?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>';
} a
?>
Figure 4.1.4 Code Snippet of Approve Module
Figure 4.1.4 Code snippet indicates the code for approving the car registered by the user and
sends confirmation email to user.
Chapter 5
Result & Discussion
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.
Table 5.2 represents the test case for sign up module. It shows both successful and
unsuccessful results for the test cases.
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.
Chapter 6
Screenshot
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.