Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Project Report
On
VEHICLE TRACKING
Bachelor of Technology
By
ASHISH SHARMA
15EJCCS705
YASH AGARWAL
15EJCCS759
AKASH KHANDELWAL
15EJCCS703
VIVEK PANDEY
15EJCCS7
Project Report
On
VEHICLE TRACKING
Bachelor of Technology
in
We hereby declare that the work presented in this project entitled “VEHICLE
TRACKING” for subject “Project-I” in the partial fulfillment of the award of the Degree
of Bachelor of Technology in Computer Science & Engineering at Jaipur Engineering
College and Research Centre, Jaipur is an authentic work of my own.
We have not submitted the matter embodied in this project work anywhere for the award
of any degree or diploma.
This is to certify that the project entitled "Vehicle Tracking"is the bonafide work carried
out by Ashish Sharma, Himang Singh Solanki, YashAgarwal, AkashKhandelwal,
VivekPandeystudents of B.Techin Computer Science &Engineering at Jaipur
Engineering College and Research Centre, during the year 2018-19, for subject “Project-
I” in partial fulfillment of the requirements for the award of the Degree of Bachelor of
Technology in Computer Science & Engineering and that the project has not formed the
basis for the award previously of any degree, diploma, fellowship or any other similar
title.
……………………… …………………………
Mr. Ankur Raj Mr. RajanJha
(Project Guide) (Supervisor)
We wish to express our sincere gratitude to our respected Supervisor Mr. RajanJhafor having
given us the opportunity to undertake our project.
We also wish to express our sincere thanks to respected Project Guide Mr. Ankur Raj for his
encouragement, guidance, and support that he extends towards our project work for its successful
completion.
AKASH KHANDELWAL
(15EJCCS703)
ABSTRACT
Commercial motor vehicles such as cars, vans, trucks, specialist vehicles (such as
mobile construction machinery), and trailers
Private vehicles used for work purposes (the 'grey fleet'[1])
Aviation machinery such as aircraft (planes and helicopters)
Ships
Rail cars
.
Fleet (vehicle) management can include a range of functions, such as vehicle financing,
vehicle maintenance, vehicle telematics (tracking and diagnostics), driver management,
speed management, fuel management and health and safety management. Fleet
Management is a function which allows companies which rely on transportation in
business to remove or minimize the risks associated with vehicle investment,
improving efficiency, productivity and reducing their overall transportation and staff
costs, providing 100% compliance with government legislation (duty of care) and many
more. These functions can be dealt with by either an in-house fleet-management
department or an outsourced fleet-management provider. According to market research
from the independent analyst firm Berg Insight, the number of fleet management units
deployed in commercial fleets in Europewill grow from 3.05 million units at the end of
2012 to 6.40 million in 2017.[2] Even though the overall penetration level is just a few
percent, some segments such as road transport will attain adoption rates above 31
percent.
.
TABLE OF CONTENTS
Candidates Declaration------------------------------------------------------------------------------------1
Bonafide Certificate----------------------------------------------------------------------------------------2
Acknowledgement ------------------------------------------------------------------------------------------3
Abstract-------------------------------------------------------------------------------------------------------4
1. INTRODUCTION---------------------------------------------------------------------------------------10
1.1 Purpose -----------------------------------------------------------------------------------------------10
1.2 Project Scope-----------------------------------------------------------------------------------------10
1.3 Document Convention ------------------------------------------------------------------------------11
2. REQUIREMENT ANALYSIS-----------------------------------------------------------------------12
2.1 Hardware Requirement------------------------------------------------------------------------------12
2.2 Software Requirement ------------------------------------------------------------------------------12
2.3 Functional Requirement-----------------------------------------------------------------------------13
2.4 Non-Functional Requirement-----------------------------------------------------------------------14
3. SYSTEM DESIGN--------------------------------------------------------------------------------------16
3.1 Use Case Diagram-----------------------------------------------------------------------------------16
3.2 Firebase Database Design-------- -----------------------------------------------------------------17
3.3 Activity Diagram------------------------------------------------------------------------------------18
3.4 Deployment Diagram for Android---------------------------------------------------------------19
3.5 Angular & Ionic Application Architecture------------------------------------------------------20
4. ANGULAR ARCHITECTURE-----------------------------------------------------------------------21
5. IONIC STRUCTURE-----------------------------------------------------------------------------------25
6. SCREEN SHOTS---------------------------------------------------------------------------------------27
7. TESTING ------------------------------------------------------------------------------------------------33
8. LIMITATIONS OF PROJECT----------------------------------------------------------------------39
9. FUTURE SCOPE OF PROJECT-------------------------------------------------------------------40
10. REFERENCES----------------------------------------------------------------------------------------41
1. INTRODUCTION
1.1. Purpose
While this suggests an overall positive picture for the future of Fleet Management
providers, current realities about rising operational costs due to increasing expenditures
on maintenance, rising demand for utility vehicles, and the escalation of keeping up with
compliance costs cast clouds of doubts over the horizon. Indeed, the fleet management
software market has been seeing meager margins for some time, resulting in providers
looking at streamlining operations to bring them back to regimes of comfortable
profitability in the long run.
As with many industry sectors, such developments may be seen as the birth pangs of
businesses and societies marching inexorably to the era of internet of things, when driver
and vehicle communicate in more effective ways, and when vehicle-to-vehicle and
vehicle-to-infrastructure connectivity is but a foregone conclusion. That kind of future
suggests a mind-boggling deluge of new data that would demand a new approach,
perhaps from predictive analytics of today to the more widespread application of
prescriptive analytics on fleet management of tomorrow.
1. REQUIREMENT ANALYSIS
T y p e S p e e d C P U s R A M D i s k
P e n t i u m 2 . 4 G H z S i n g l e 4 G B 4 G B
M i s c e l l a n e o u s V e r s i o n
B r o w s e r V e r s i o n
I n t e r n e t E x p l o r e r I E 7 , I E 8 , I E 9
G o o g l e c h r o m e 5 6 . 0 . 2 9 2 4 . 8 7
F i r e F o x 3 4 . 0 a n d h i g h e r
M o b i l e V e r s i o n
A n d r o i d A p a c h e , G r a d l e
I O S X c o d e , A p p l e S D K
D a t a b a s e V e r s i o n
F i r e s t o r e 2 0 1 7
Functional user requirement may be high-level statements of what the sydtem should do but
functional system requirements should also clearly describe about the system services in detail.
Business Rules
Transaction corrections, adjustments and cancellations
Administrative functions
Authentication
Authorization levels
Audit Tracking
External Interfaces
Certification Requirements
Reporting Requirements
Historical Data
Legal or Regulatory Requirements
Non-functional requirements cover all the remaining requirements which are not covered by the
functional requirements. They specify criteria that judge the operation of a system, rather than
specific behaviour, for example: “Modified data in a database should be updated for all users
accessing it within 2 seconds.”
Many different stakeholders have a vested interest in getting the non-functional requirements
right particularly in the case of large systems where the buyer of the system is not necessarily
also the user of the system.
The importance of non-functional requirements is therefore not to be trifled with. One way of
ensuring that as few as possible non-functional requirements are left out is to use non-functional
requirement groups.
SYSTEM DESIGN
..
6.2 User log in page.
6.2 Sign up page for new users
6.3 Vehicle registration details
6.4 Commercial vehicle details.
6.6Coding Arena
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.
As the number of possible tests for even simple software components is practically infinite, all
software testing uses some strategy to select tests that are feasible for the available time and
resources. As a result, software testing typically (but not exclusively) attempts to execute a
program or application with the intent of finding software bugs (errors or other defects). The job
of testing is an iterative process as when one bug is fixed, it can illuminate other, deeper bugs, or
can even create new ones.
Software testing can provide objective, independent information about the quality of software
and risk of its failure to users or sponsors.
Software testing can be conducted as soon as executable software (even if partially complete)
exists. The overall approach to software development often determines when and how testing is
conducted. For example, in a phased process, most testing occurs after system requirements have
been defined and then implemented in testable programs. In contrast, under an agile approach,
requirements, programming, and testing are often done concurrently.
There are many approaches available in software testing. Reviews, walkthroughs, or inspections
are referred to as static testing, whereas actually executing programmed code with a given set of
test cases is referred to as dynamic testing.
Static testing is often implicit, as proofreading, plus when programming tools/text editors check
source code structure or compilers (pre-compilers) check syntax and data flow as static program
analysis. Dynamic testing takes place when the program itself is run. Dynamic testing may begin
before the program is 100% complete in order to test particular sections of code and are applied
to discrete functions or modules. Typical techniques for this are either using stubs/drivers or
execution from a debugger environment. Static testing involves verification, whereas dynamic
testing also involves validation.
Types of testing
Broadly speaking, there are at least three levels of testing: unit testing, integration testing, and
system testing. However, a fourth level, acceptance testing, may be included by developers. This
may be in the form of operational acceptance testing or be simple end-user (beta) testing, testing
to ensure the software meets functional expectations. Tests are frequently grouped into one of
these levels by where they are added in the software development process, or by the level of
specificity of the test.
Unit Testing
Unit testing refers to tests that verify the functionality of a specific section of code, usually at the
function level. In an object-oriented environment, this is usually at the class level, and the
minimal unit tests include the constructors and destructors.
These types of tests are usually written by developers as they work on code (white-box style), to
ensure that the specific function is working as expected. One function might have multiple tests,
to catch corner cases or other branches in the code. Unit testing alone cannot verify the
functionality of a piece of software, but rather is used to ensure that the building blocks of the
software work independently from each other.
Unit testing is a software development process that involves a synchronized application of a
broad spectrum of defect prevention and detection strategies in order to reduce software
development risks, time, and costs. It is performed by the software developer or engineer during
the construction phase of the software development lifecycle. Unit testing aims to eliminate
construction errors before code is promoted to additional testing; this strategy is intended to
increase the quality of the resulting software as well as the efficiency of the overall development
process.
Depending on the organization's expectations for software development, unit testing might
include static code analysis, data-flow analysis, metrics analysis, peer code reviews, code
coverage analysis and other software testing practices.
Integration testing
Integration testing is any type of software testing that seeks to verify the interfaces between
components against a software design. Software components may be integrated in an iterative
way or all together ("big bang"). Normally the former is considered a better practice since it
allows interface issues to be located more quickly and fixed.
Integration testing works to expose defects in the interfaces and interaction between integrated
components (modules). Progressively larger groups of tested software components
corresponding to elements of the architectural design are integrated and tested until the software
works as a system.
System testing
System testing tests a completely integrated system to verify that the system meets its
requirements. For example, a system test might involve testing a logon interface, then creating
and editing an entry, plus sending or printing results, followed by summary processing or
deletion (or archiving) of entries, then logoff.
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.
TYPES OF 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.
$ ionic serve
This will start a live-reload server for your project. When changes are made to any HTML, CSS,
or JavaScript files, the browser will automatically reload when the files are saved.
Substitute ios with android for Android testing. If you want to get advanced, you can also open
up the project file for a specific platform by opening the required Xcode or Android Eclipse
project in platforms/PLATFORM inside the root of your project. Then, you can build and test
from inside the platform-specific IDE. Note: if you go this route, I recommend still working
inside of the root www folder, and when you’ve made changes to this folder, run the command:
Which will update the ios specific project with the code from the www folder. Note: this will
overwrite any changes you’ve made to the platforms/ios/www and other platform-specific
folders.
7.9.3 Mobile browser testing
We can also test the app directly in a mobile browser. For OS X users, Safari on OS X can
directly debug websites and simulator applications. First you have to enable the remote web
inspector on both the device and Safari on desktop. To do this with iOS 7 and OS X Mavericks,
enable the Web Inspector option in the iOS Settings -> Safari -> Advanced section, and also
enable the Developer Menu in the Advanced section of the Safari OS X settings.
If you are using the local server method from the Desktop testing section and you are on the
same network as the desktop computer, you can connect to the ip address of the desktop
computer to test. So, if our desktop is running a test server at 192.168.1.123:8000, we can just
load that address into our mobile Chrome or Safari to test it.
One problem with testing in a mobile browser is that it’s probably the furthest of the three
options from the actual app experience. This is largely because the browser app is meant for
browsing websites, so it often adds functionality that conflicts with your app. For example,
Chrome and Safari both listen for drag events on the sides of the app which let you switch
between open tabs. They also have issues with the URL bars getting in the way, and some
scrolling behavior is not the same as it is in the web view running in Cordova. It is fine for small
tests, but not recommended for more complex apps.
Since we are building a native (or “hybrid”) app, we can (and should!) test it as one. There are
several ways to do this. If you are building for iOS, you’ll need to sign up for an Apple
Developer account to test as a native app on an iPhone or iPad. Unfortunately, this costs $99 per
year (don’t blame us!). Once you have an account and you have set up Xcode with your
certificates to enable device testing, you’ll want to open the Xcode project from platforms/ios/ and
do your testing from Xcode.
Testing on Android is much easier and faster. To test on the device, simply plug it in, and run.
LIMITATIONS OF PROJECT
Break down of relationships – Fleet managers are bound to develop strong and dependable
relationships with the outsourced maintenance specialist, but the same cannot be said for
other employees, particularly drivers. If operations are kept in-house, then a driver can go
to the manager directly with any questions, concerns or problems. Howev er, adding a
third-party into this relationship makes matters a little bit more complicated. In addition to
this drawback, previous relationships between the in-house fleet manager and dealerships,
suppliers, insurers and accountants will break down too.
Accountability issues – Ultimately, the in-house fleet manager will be responsible for
every aspect of maintenance and management, even if certain tasks and functions are
outsourced. But, if a regrettable or difficult incident occurs, it is easy to pass the buck and
shy away from accountability. For the main aspects of fleet maintenance and management,
it is advisable to have in-house members of staff in place. However, more specific tasks
such as purchasing handling, legal requirements, accident reporting, and ongoing repairs
can be outsourced.
FUTURE SCOPE OF PROJECT
• Uploading all the documents online so that if requirement arises the soft copy of the
document can be produced intead of original copy.
• Gmail notifications which will remind the users of the expiry date 10 days prior.
• To insert picture of each vehicle.
6. References
10.2 https://stackoverflow.com/
10.3 https://getbootstrap.com/
10.4 https://www.tutorialspoint.com
10.5 https://spring.io/projects/spring-boot
10.6 https://docs.spring.io/springdata/jpa/docs/1.5.0.RC1/reference/.../jpa.repositorie
s.html
10.7 https://www.w3schools.com/
10.8 https://jquery.com/
10.9 https://www.javatpoint.com/