Open Source Carpooling System
Open Source Carpooling System
The main aim of the project is car-sharing, expenses sharing and reducing traffic
problems. By having more people using one vehicle, carpooling reduces each person travel
costs such as fuel costs, tolls, and the stress of driving. Car pooling is also a more
environment friendly and sustainable way to travel as sharing journeys reduces air
pollution, carbon emissions, traffic congestion on the roads, and the need for parking
spaces.
Car pool commuting is more popular for people who work in places with more jobs
nearby, and who live in places with higher residential densities. Car pooling is
significantly correlated with transport operating costs, including fuel expenses, travel
expenses and people
personal expenses.
In this project admin maintains all the car owner and customer details. The car
owners register their details and login to the website. Once the car owner login to the
website, they will add their trip details such as vehicle type, source details and destination
details. These details are viewed by the customer once they login and request the car
owner to share their trip.
After customer’s request car owner will either accept or reject the request. After
approval car owner will share their trip expenses with accompanying person. So the travel
expenses of individual person will be minimized by sharing the expenses with one another.
And during festival time there will be lot of traffic as many person will get back to
their home town. During this situation this system will be more helpful and cost effective.
1. INTRODUCTION
OBJECTIVES
HARDWARE REQUIREMENTS
This section gives the details and specification of the hardware on which the
system is expected to work.
Processor : Intel I3
RAM : 8 GB DDR RAM
Monitor : 17” Color
Hard disk : 1 TB
Keyboard : Standard102 keys
Mouse : Bedspread Scroll
SOFTWARE REQUIREMENTS
This section gives the details of the software that are used for the development.
Features of HTML5
The <canvas>element is used to allow a web developer to render graphics on the fly.
As with video, there is no need for a plug-in.
Web Workers is certain web application use heavy
Scripts to perform function. Web Workers use separate background threads for
processing.
Application caches is used to Web pages will start storing more and more
information locally on the visitors [Link] works like cookies, but where cookies
are small ,the new feature allows larger files.
Geo location is best known for use on mobile devices, geo location is coming with
HTML5.
Support for local storage.
New form controls, like calendar, date, time, email, URL search.
New content-specific element, like <article>, <footer>, <header>, <new>, <section>.
The video and audio element for media playback.
CSS
CSS Stands for "Cascading Style Sheet". Cascading style sheets are used to format
the layout of Web pages. They can be used to define text styles, table sizes, and other
aspects of web pages that previously could only be defined in a page's HTML. CSS helps
Web developers create a uniform look across several pages of a Web site. Instead of
defining the style of each table and each block of text within a page's HTML, commonly
used styles need to be defined only once in a CSS document. Once the style is defined in
cascading style sheet, it can be used by any page that references the CSS file. Plus, CSS
makes it easy to change styles across several pages at once. For example, a Web developer
may want to increase the default text size from 10pt to 12pt for fifty pages of a Web site. If
the pages all reference the same style sheet, the text size only needs to be changed on the
style sheet and all the pages will show the larger text.
JAVASCRIPT
JavaScript is a programming language commonly used in web development. It was
originally developed by Netscape as a means to add dynamic and interactive elements to
websites. While JavaScript is influenced by Java, the syntax is more similar to C and is
based on ECMA Script, a scripting language developed by Sun Microsystems.
JavaScript is a client-side scripting language, which means the source code is
processed by the client's web browser rather than on the web server. This means JavaScript
functions can run after a webpage has loaded without communicating with the server. For
example, a JavaScript function may check a web form before it is submitted to make sure
all the required fields have been filled out. The JavaScript code can produce an error
message before any information is actually transmitted to the server.
PHP
PHP (Hypertext Pre Processor) is a popularly used server side scripting language
that is basically designed for the web development to produce dynamic web pages.
PHP code is interpreted by a web server with a PHP processor module, which
generates the resulting Web Pages. PHP commands can be embedded directly into an
HTML sources document rather than calling an external file to process data. It has also
evolved to include a commend line interface capability and can be used in standalone
graphical applications.
Advantages of PHP
PHP provides a more secured website due to high quality encryption scheme.
PHP applications provide a fast browsing experience due to the reason that all
the processing is performed at the server side.
PHP is freely available which helps to cut the cost of development to a
considerable extent.
It provides compatibility with almost every web server and operating system
the application is laid on.
The load of PHP developed sites is also less as PHP is a light weighted
language for web-site development.
Features of PHP
It is general purpose open-source language
It is extremely user-friendly as compared to other popular languages.
PHP is taken as a unique language supporting various functions.
PHP can manage a lot of database.
PHP s flexible. It runs on different operating systems.
BACK END
DATABASE My-SQL
MySQL is an open source relational database management system, which can be
available any time. It has no cost for development purpose. A database is a separate
application that stores a collection of data. Each database has one more distinct APIs for
creating, accessing, managing, searching and replicating data it holds. Its name is a
combination of “My”, the name of co-founder “Michael Widenius’ daughter, and “SQL”,
the abbreviation for structures Query Language. MySQL is written in C and C++.Its SQL
parser is written in yacc, but it uses a home-brewed lexical analyser. MySQL works on
many system platforms, including AIX, BSDI, FREEBSC, HP-UX, EComStation, i5/OS,
IRIX, Linux, OSX Microsoft windows NetBSD, Novell Netware, OpenBSD, Open
Solaris, OS/2, Warp, QNX,Oracle Solaris, Symbian, SunOS, SCO Open server, SCO
UnixWare, Sanos and Tru64.A port of MySQL to open VMS also exists.
The MySQL server software itself and the client libraries use dual-licensing
distribution. They are offered under GPL version 2, beginning from 28 June 2000(Which
in2009 has been extended with a FLOSS License Exception) or to use a proprietary
license.
Support can be obtained from the official manual. Free support additionally is
available in different IRC channels and forums. Oracle offers paid support via its MySQL
Enterprise products. They differ in the scope of services and in price. Additionally, a
number of third party organizations exist to provide it “performs extremely well in the
average case” and that the “developer interface are there, and the documentation is very,
very good”. It has also been tested to be a “fast, stable and true multi-user, multi-threaded
SQL database server”.
FEATURES
MySQL is offered fewer than two different editions: the open source MySQL
Community Server and the proprietary Enterprise Server.
MySQL enterprise server is differentiated by a series of proprietary extensions
which install as server pug-in, but otherwise shares the version numbering system and is
built from the same code base.
The existing system is in offline. The idea behind the car pooling is made used the
software partially. All the people’s details are managed using Excel. The customer need
not know the car owner details to share their trip.
It is not possible to travel to long distance when they fail to book ticket through
The project is to implement the make the customer and car owner interact easily
and made their trip. The users are provided support by processing all the transaction in
web site itself so that immediate updating is available to them. The proposed system is
web based. It can be easily customized to the requirements of carpooling.
The user can make request through online, whose can receive the automobile
Communication is effective.
The design of the input should be made the input as the over to the numerous
networks in the reliable area that should be passed as the installation in the remote
network. It has the following constraints in the input database.
The system takes input from the users, processes it and produces an output. Input
design is link that ties the information system into the world of its users. The system
should be user-friendly to gain appropriate information to the user. The decisions made
during the input design are the project gives the low time consumption to make the
sensitive application made simple. When applying the project it provides the low man-
power attrition with the reasonable output.
The amount of fund that the company can spend into the research and
development of the system is limited. The expenditures must be justified. Thus the
developed system as well within the budget and this was achieved because most of the
technologies used are freely available. Only the customized products had to be purchased.
Input data of a system may not be necessarily is raw data captured in the system
from scratch. These can also be the output of another system or subsystem. The design of
input covers all the phases of input from the creation of initial data to actual entering of the
data to the system for processing. The design of inputs involves identifying the data
needed, specifying the characteristics of each data item, capturing and preparing data from
computer processing and ensuring correctness of data.
Input design is the process of converting user-originated inputs to a computer-
based format. Input design is one of the most expensive phases of the operation of
computerized system and is often the major problem of a system.
Any Ambiguity in input leads to a total fault in output. The goal of designing the input
data is to make data entry as easy and error free as possible.
In the project, the forms are designed with easy to use options such as selecting the
master records through dropdown list in transaction forms. The coding is being done such
that proper validations are made to get the perfect input. No error inputs are accepted. The
end users need not to give the id themselves.
OUTPUT DESIGN
Output design generally refers to the results and information that are generated by
the system for many end-users; it should be understandable with the enhanced format.
The Output of the software is used to make the remote installation of the new
software in the system and, it is awake the immediate alert to the system that should be
enhanced it as the input to the system. Output is the main reason for developing the system
and the basis on which they evaluate the usefulness of the application.
Computer output is the most important direct source of information to the user
output design deals with form design efficient output design should improve the
interfacing with user.
Forms are designed in PHP with various features, which make the console output
more pleasing. As the outputs are the most important sources of information to the users,
better design should improve the system’s relationships with user and also will help in
decision-making. Form design elaborates the way output is presented and the layout
available for capturing information.
3.3 DATABASE DESIGN
Data Integration:
In a database, information from several files are coordinated, accessed and
operated upon as through it is in a single file. Logically, the information are centralized,
physically, the data may be located on different devices, connected through data
communication facilities.
Data Integrity
Data integrity means storing all data in one place only and how each application to
access it. This approach results in more consistent information, one update being sufficient
to achieve a new record status for all applications, which use it. This leads to less data
redundancy; data items need not be duplicated; a reduction in the direct access storage
requirement.
Data Independence:
Data independence is the insulation of application programs from changing aspects
of physical data organization. This objective seeks to allow changes in the content and
organization of physical data without reprogramming of applications and to allow
modifications to application programs without reorganizing the physical data.
The tables needed for each module were designed and the specification of each and
every column was given based on the records and details collected during record
specification of the system study.
TABLE STRUCTURE
The system is computerized Web based carpooling system. The following are the
modules in the project.
ADMIN
ADD CAROWNER
ADD VEHICLE
VIEW VEHICLE
VIEW CUSTOMER
ADD VEHICLE
In this module the admin add car details such as the vehicle id, vehicle name which
are permitted models for car pooling. Those details are stored into the car table.
VIEW CUSTOMER
Here admin can view the details of customers who have registered in this website.
These data are stored in customer table and arte availed to admin.
ADD TRIP
VIEW CUSTOMERS
TRIP LIST
APPROVE REQUESTS
ADD PAYMENT
VIEW PAYMENT
ADD TRIP
In this module, car owner add trip details such as owner id, car model, car details,
description, seat capacity, cost, source, destination etc. These details are stored into trip
table.
VIEW CUSTOMER
Here car owner can view the details of customers who have registered in this
website. These data are stored in customer table and arte availed to car owner.
TRIP LIST
In this module, car owner view trip details such as owner id, car model, car details,
description, seat capacity, cost, and source. These details are retrieved from trip table.
APPROVE REQUEST
In this form car owner will approve the booking requests from customers
who are willing to join them in the journey. In this module, car owner add trip details such
as owner id, car model, car details, description, seat capacity, cost, source, destination etc.
These details are stored into trip table.
ADD PAYMENT
In this form car owner will add the payment details such as payment no, payment
date, customer code, amount, payment mode, details and owner id. This details are stored
in payment table.
VIEW PAYMENT
In this module the car owner views the payment details whish are retrieved from
the payment table.
CUSTOMER
TRIP LIST
BOOK REQUESTS
VIEW BOOKING STATUS
TRIP LIST
In this module, customer view trip details such as owner id, car model, car details,
description, seat capacity, cost, and source. These details are retrieved from trip table.
BOOK REQUESTS
In this form the customer add booking details such as id, customer id, customer
name, trip details, date of booking, number of persons, rate, number of male and female
etc. These details are stored into booking table.
After the source code has been completed, documented as related data structures.
Completion of the project has to undergo testing and validation where there is subtitle and
definite attempt to get errors. The project developer treats lightly, designing and execution
of the project test that will demonstrates that the program works rather than uncovering
errors, unfortunately errors will be present and if the project developer doesn’t found
errors, the user will find out.
The project developer is always responsible for testing the individual units i.e.
modules of the program. In many cases, developer should conduct the integration testing
i.e. the testing step that leads to the construction of the complete program structure.
This project has undergone the following testing procedures to ensure its
correctness.
UNIT TESTING
INTEGRATION TESTING
VALIDATION TESTING
UNIT TESTING
In unit testing, user has to test the programs making up the system. For this reason,
Unit testing sometimes called as Program testing. The software units in a system are the
modules and routines that are assembled and integrated to perform a specific function.
In this project, all modules are tested individually like given all the fields and can
be updated for all criteria.
INTEGRATION TESTING
VALIDATION TESTING
The input given to various forms are validated effectively. The input is given for
complaints details and service details. Each module is tested independently. In this project,
code, username and password are validated successfully.
4.2 SYSTEM IMPLEMENTATION
When the initial design was done for the system, the client was consulted for the
acceptance of the design so that further proceedings of the system development can be
carried on. After the development of the system a demonstration was given to them about
the working of the system. The aim of the system illustration was to identify any
malfunction of the system.
After the management of the system was approved the system implemented in the
concern, initially the system was run parallel with existing manual system. The system has
been tested with live data and has proved to be error free and user friendly.
Implementation is the process of converting a new or revised system design into an
operational one when the initial design was done by the system; a demonstration was
given to the end user about the working system. This process is uses to verify and identify
any logical mess working of the system by feeding various combinations of test data.
After the approval of the system by both end user and management the system was
implemented. A product software implementation method is a blueprint to get users and/or
organizations running with a specific software product. The method is a set of rules and
views to cope with the most common issues that occur when implementing a software
product: business alignment from the organizational view and acceptance from the human
view.
The implementation of product software, as the final link in the deployment chain
of software production, is in a financial perspective of a major issue. The Implementation
methodology includes four phases - Discovery, System Development, User Acceptance
Testing and Production Rollout. It’s easy to be overwhelmed by slick marketing
presentations, particularly when the sales force is talking about things that most people
don’t completely understand. Showmanship gets in the way of real capabilities. Unless the
review team is judging each vendor against the same list of needs, with the same
understanding of the significance of each rating, “likeability” can win over capability.
These implementation phases are designed to provide clients with a seamless
transition from an existing electronic or paper-based system to Sigmund while ensuring all
aspects of a client’s operations are accounted for by the software. The Sigmund project
team, comprised of individuals with clinical, billing and operations experience, is
equipped with the skills and tools to manage the entire process from system requirements
gathering to deployment. Sigmund provides various levels of support, depending on client
needs, including client-side Project Management.
The Discovery Phase is preceded by a Project Kick-off Work-session that includes
application demonstrations, completion and review of requirements and configuration
questionnaires, identification of key client documentation, as well as consultation on
possible process re-engineering needs. The Project Kick-off provides your organization
with the opportunity to not only introduce the Sigmund Project Team to your organization,
but also to define and structure your organization’s Project Team.
System implementation is made up of many activities. The six major activities are
as follows.
CODING
Coding is the process of whereby the physical design specifications created by the
analysis team turned into working computer code by the programming team.
INSTALLATION
Installation is the process during which the current system is replaced by the new
system. This includes conversion of existing data, software, and documentation and work
procedures to those consistent with the new system.
DOCUMENTATION
It is result from the installation process, user guides provides the information of
how the use the system and its flow.
Carpooling application helps the user to keep update about the trip sharing details
and made arrangements based on their needs. This application makes the user comfortable
to book for their trips even though they missed to book some of the websites on time. With
the use of this website, individual person’s travel expenses can be reduced and more
number of vehicles are not required which results in less traffic problems and reduces
pollution.
The application is designed such that minimum internet knowledge is required for
end users to browse the website and apply leave and know the leave status. This project is
used to order the gift items from their home place and view their order status. The user is
also provided with the facility to upload their own designs and make order on them.
6. SCOPE FOR FUTURE ENHANCEMENTS
The application become useful if the below enhancements are made in future.
The application is developed such that above said enhancements can be integrated with
current modules.
7. BIBLIOGRAPHY
TEXT BOOKS
Alistair MeMommien, “Object-Oriented Programming in Visual [Link]”,
Pearson Education, and ISBN: 81-297-0649-0, First Indian Reprint 2004.
Jittery [Link], “The Complete Reference Visual Basic. NET” Edition 2002,
Tata McGraw-Hill, Publishing Company Limited, New Delhi.
Robert D,Schncider, Jettey [Link], “Optimizing SQL Server”, Second Edition,
Pearson Education Asia, ISBN : 981-4035-20-3
WEB REFERENCES
1. [Link]
2. [Link]
3. [Link]
4. [Link]
8. APPENDIX
CAR POOLING
Book Car
Trip Details
View customer
View payment
Add payment
Track Status
View payment
Booking Requests
Vehicle List
B. DATA FLOW DIAGRAM
CAR POOLING
Customer
Table
Admin
Admin Car Owner Customer
Table
Login Login Login
Car Owner
Table
Add/view View
payment payment
Payment Payment
SAMPLE SCREENS
Admin Login
Add vehicle
View car owner
Add car owner
View car owner
View vehicle
View customer
Car owner login
Add trip
View trip
View booking
Approve seats
View customer
Add Payment
View Payment
View Vehicle
Customer registration
Customer login
Booking
View booking
View trip
View Payment