Professional Documents
Culture Documents
"Rto App": A Major Project Report ON
"Rto App": A Major Project Report ON
Submitted to
RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA
BHOPAL (M.P.)
Submitted By:
Saurabh Gupta (0302CS161040)
CERTIFICATE
This is to certify that the MAJOR Project entitled as “RTO
APP” which has been completed & submitted by Saurabh
Gupta in partial fulfillment of the requirement for the award
of the degree of Bachelor of Engineering in Computer
Science & Engineering for the session 2016-2020 is a
bonafied work by them and has been completed under my
guidance and supervision. It has not been submitted elsewhere
for any other degree.
H.O.D Guided By
Mr. Pradeep Tripathi Mr.C.P.Gautam
(Head of the Department) (Asst. Prof. CS Dept.)
Computer Science
Principal
(Project Approval)
CERTIFICATE
This is to certify that the MAJOR Project entitled as “RTO
APP” which has been completed & submitted by Saurabh
Gupta in partial fulfillment of the requirement for the award of
the degree of Bachelor of Engineering in Computer Science &
Engineering for the session 2016-2020.
DECLARATION
We hereby declare that the work which is being presented in the project
report entitled “RTO APP” partial fulfillment of the requirement of the
degree of “Bachelor of Engineering in Computer Science &
Engineering” branch is an authentic record of our work carried out under
the guidance of “Mr.C.P.Gautam”. The work has been carried out at
Vindhya Institute of Technology & Science, Satna.
Project Associate
Saurabh Gupta (0302CS161040)
ACKNOWLEDGEMENT
I express my profound sense of gratitude to Dr. Jai Bahadur
Balwanshi Principal, Vindhya Institute of Technology & Science,
Satna for providing their valuable guidance, continuous motivation
and moral support in carrying out this project work.
I owe special thanks to my esteemed guide Mr. C.P.Gautam
Vindhya Institute of Technology & Science, Satna involved right
from the inception of ideas to the finalization of the work. He is
always ready to extend a helpful hand in times of need. I am
deeply indebted to him whose help, suggestions and
encouragement helped me in all the time of implementation for and
writing of this project report. I learned many things from him/her.
I am thankful to Mr. Pradeep Tripathi Head,
Computer Science & Engineering Department for providing
necessary facilities and suggestions to carry out my project work. I
am very grateful to him for reading my thesis and giving me many
good suggestions that greatly improved the presentation and
enhanced the clarity of my work. Their vision was fundamental in
shaping my work and I am very grateful for having the opportunity
Table of Contents
Title Page
Declaration of the Student
Certificate of the Guide
Abstract
Acknowledgement
List of Figures
List of Tables (optional)
1. INTRODUCTION
1.1 Problem Definition
1.2 Project Overview
1.3 Need and scope
1.4 Glossary
2. REQUIERMENT ANALYSIS
2.1 Hardware requirements
2.2 Software requirements
2.3 Feasibility study
4. TECHNICAL DESCRIPTION
5. DATABASE DESIGN
7. TESTING
8. CONCLUSION
10. REFERENCES
Chapter – 1
Introduction
1.4 Glossary
Name Description
user An end-user is a person who ultimately uses or is intended to ultimately
use a product. The end-user stands in contrast to users who support or
maintain the product, such as sysops, system administrators, database
administrators,or technicians.
Account An arrangement by which a user is given personalized access to an
application, typically by entering a username and password.
Authentification Authentication is the validation that a user is who he claims to be; it is
the process where where a user proves he is the legitimate owner of
a digital identity. It consists of identification and verification of one or
multiple credentials.
Authorization Authorisation is the function that implements rules to grant access rights
to users
Identification Identification is the process where information is provided to RTO app
(or another identity provider) and is used by RTO app to find (look-up) a
single existing identity. Typically identification is done based on a
Chapter – 2
Requirement
Analysis
Department of Computer Science & Engineering, VITS, Satna Page 10
RTO APP
The RTO APP is an android based app and thus can be accessed through any
android mobile phone.
The solution is practical since the objectives of the system development are
achievable and realistic.
The technology to be used is available, this include use of programming language
JAVA and XML and Firebase database to develop almost all type of applications
Economical Feasibility: -
a) Costs
Development Costs
Development cost is very minimal since the tools and technologies used are available
online. Development time is well planned and will not affect other operations and
activities of the individual. Once the system has been developed, the companies
purchasing the system will be provide with a manual for training purposes.
There is no need to purchase new hardware since the existing android mobile phones are
more than sufficient to operate the application and can still be used.
b) Benefits
i. Performance Benefits
Increased speed of report production.
Faster creation, access, modification and retrieval of data as firebase is realtime
database..
Decreased redundancy or duplication of data.
Timely access of vehicle’s information and other updates.
Improved way for reporting stolen vehicle.
Chapter – 3
System Analysis and
Design
3.5 ER Diagram
Chapter – 4
Technical
Description
In the current scenario, the key issue faced by commuters while travelling is to deal with
the inefficiency and discrepancy in the traffic system and the people involved in
managing the same. On being caught by the police, the commuter must submit his driving
license, RC Book and/or other vehicle documents for verification. In case the commuter
forgets/misplaces the documents, he is unnecessarily fined.
In case a vehicle is stolen, the owner must contact the nearest police station. The process
to lodge a complaint and subsequent response is slow and inefficient. In this age of
science and technology, where the internet is in the palm of everyone’s hands, a better
system for managing the above process can be set up which would greatly reduce the
burden on the daily commuters as we as the traffic police.
The proposed system has an android application designed using JAVA and
XML with dedicated user interfaces for each of the actors on the scene. The
android application connects to a webserver by making a HTTP request so
that when the android application is executed, it connects the android device
to the Firebase script.
The Firebase script fetches the data from the cloud Firestore, which is kind of
a real-time database. The fetched data is then displayed on the android device.
Steps involved are:
RTO registers the users with a driving license.
They upload the necessary documents onto the drivers’ and the vehicles’
profiles.
General User:
Signup/ signin through the android application using the email id.
Can view all the latest documents such as driving license, owned vehicle
details, RC Book, etc. on his profile page.
Can report stolen vehicle to notify the nearest police.
Chapter – 5
Database Design
A Data base is a collection of related data. By Data, we mean known facts that can be
recorded and the implicit meaning. Defining a Database involves specifying the data
types, structures, and constraints of the data to be stored in the database. The general
objective is to make database access easy, quick, inexpensive and flexible for the users.
Normalisation is done to get internal consistency of data to have minimum redundancy
and maximum stability. This ensures maximizing data storage required and optimizing
for updates.
The data in the system has to be restored and retrieved from database. Designing the
database is a part detailed designing. Data elements and data structures to be stored have
been identified in the analysis stage. They are structured and put together to design the
data storage and retrieval system.
Cloud Firestore is the database of the system. It provide a secure and accurate data
management.
Cloud Firestore is a NoSQL document database built for automatic scaling, high
performance, and ease of application development. While the Cloud Firestore interface
has many of the same features as traditional databases, as a NoSQL database it differs
from them in the way it describes relationships between data objects. There are 4
collections used in our database. They are -:
a. Users
b. Vehicle
c. License
d. Stolen Vehicles
Users -: Each document contained in this collection represents different
individual users. Each document contains information of a particular user.
Cloud Storage is built for app developers who need to store and serve user-generated
content, such as photos or videos.
Cloud Storage for Firebase is a powerful, simple, and cost-effective object storage service
built for Google scale. The Firebase SDKs for Cloud Storage add Google security to file
uploads and downloads for your Firebase apps, regardless of network quality. You can
use our SDKs to store images, audio, video, or other user-generated content. On the
server, you can use Google Cloud Storage, to access the same files.
Cloud Storage stores your files in a Google Cloud Storage bucket, making them
accessible through both Firebase and Google Cloud. This allows you the flexibility to
upload and download files from mobile clients via the Firebase SDKs, and do server-side
processing such as image filtering or video transcoding using Google Cloud Platform.
Cloud Storage scales automatically, meaning that there's no need to migrate to any other
provider.
Chapter – 6
Screenshots
(Results and
Outputs)
Chapter – 7
Testing
Comprehensive test case design methods for real-time system have yet to evolve.
However an overall four-step strategy can be proposed:
Task Testing
Behavioral Testing
Inter task Testing
System Testing
Task Testing:-
The first step in the testing of real-time software is to test each task
independently. That is, white-box and black-box tests are designed and executed for
each task. Each task is executed independently during these tests. Task testing
uncovers error in logic and function but not timing or behavior.
Behavioral Testing:-
Using system models created with CASE tools, it is possible to simulate
the behavior of a real-time system and examine its behavior as a consequence of external
events. These analysis activities can serve as the basic for the design of test cases that are
conducted when the real-time software has been built. Using a technique that is similar to
equivalent partitioning, events (e.g., interrupts, control signals) are categorized for
testing. For example, events for the photocopier might be user interrupts (e.g., reset
counter), mechanical interrupts (e.g., paper jammed), system interrupt (e.g., toner low),
and failure mode (e.g., roller overhead). Each of these events tested individually and the
behavior of the executable system is examined to detect errors that occur as a
consequence of processing associated with these events. The behavior of system model
and the executable software can be compared for performance.
Inter task Testing:-
Once errors in individual tasks and in system behavior have been isolated, testing
shifts to time-related errors. Asynchronous tasks that are known to communicate
with one another are tested with different data rates and processing load to
determine if inters task synchronization errors will occur. Task that communicate
via a message queue or data store are tested to uncover errors in the sizing of these
data storage areas.
Software and hardware are integrated and full ranges of system test are
conducted in an attempt to uncover errors at the software/hardware interface. Most real-
time systems process interrupts. The tester develops a list of all possible interrupts and
the processing that occurs as a consequence of the interrupts. Tests are then designed to
assess the following system characteristics:
time and resources are limited there is no point in conducting a test that has the same
purpose as another test. Every test should have a different purpose, a good test should be
“best of breed”. In a group of testhat have a similar intent, time and resources limitation
may mitigate towards the execution of only a subset of these tests. The test should be
neither too simple not too complex. We have performed these types of testing.
It is also called glass box testing. It is a test case design method that uses the
control structure of the procedural design to derive test cases. In this, all statement in
the program has been executed at least once during testing that all logical conditions
have been exercised. Using white box testing methods, the Software engineer can
derive test cases that
i) Guarantee that all independent paths within a module have been exercised
at least once.
ii) Exercise all loops at their boundaries and within their operational bounds.
iii) Exercise all logical decision on their true and false sides.
iv) Exercise internal data structure to assure their validity.
Basic path testing, a white-box technique, makes use of program graphs to drive the
set of linearly independent tests that will ensure coverage. Condition and data floe
testing further exercise program logic, and loop testing complements other white-box
technique by providing a procedure for exercising loops of varying degrees of
complexity.
at the software interface. A black box test examines some fundamental aspect of a system
with little regard for he internal logical structure of software
Functional Testing:-
In system design may have so may function. Each program has defined into number of
function. Each function has its own task. We can test each function to perform a
accurate result. We must debug the function.
Function is block of code that performs a particular task, and returns a particular value.
Structural Testing: -
Each program has a structure, and contains the function, variable, controls,
Statement decision making loops header files. We can test program structure these are
defined properly in our program. So the programmer set structure of program.
After Testing in our program function makes the setup the program so that each function
is run setup the program so that each function is fun according to define the structure.
Program may have several structural and function. Programmer can arrange these method
and structure they are properly perform our task, if they are not done sets the structures,
SECURITY TESTING
Security testing attempts to verify that protection mechanisms built into a will in
facility protect it from improper penetration. “That system’s Security must, of course, be
tested for invulnerability from frontal attack-but must also be tested for in vulnerability
from flank or rear attack”.
VALIDATION TESTING
A final series of software tests- validation testing may begin validation can be
defined in many ways, but a simple definition is that validation. Succeeds when software
functions in a manner that can be reasonably expect by the customer.
User training
We assume that the system administrator have the basic knowledge of the computer
operations, that is, the system administrator to be;
Problem
definition
Status Technical
quo development
Solution
integration
requirements gathering at the system level with a small amount of top-level design and
analysis.
Software requirement analysis:-
The requirement gathering process is intensified and focused specifically on software. To
understand the nature of program to be built, the software engineer must understand the
information domain for the software, as well as require function, behavior, performance,
and interface.
Design:
Software design is actually multi step process that focuses on four distinct attributes of
program; data structure, software architecture, interface representation and procedural
detail. The design process translates requirements into a representation of the software
that can be accessed for quality before coding begins.
Code generation:
The design must be translate in to a machine-readable form. The code generation step
performs this task. If design is perform in a detailed manner, code generation can be
accomplished mechanistically.
Testing:
Once code had been generated program testing begins. The testing process focuses on
the logical internals of the software, ensuring that all statements have been tested and on
functional externals; that is, conducting tests to uncover errors and ensure that the defined
input will produce the actual results that agree with required results.
Support:
Software will undergo change after it is delivered to the customer. Change will
occur because errors have been encountered, because the software must be adopted to
accommodate changes in its external environment (example, a change required because
of a new operating system or peripheral device), or because the customer requires
functional or performance enhancements.
Chapter – 8
Conclusion
This system also enables a simplified system for commuters to handle various vehicle
documents as they now no longer have to worry about managing the hard copies of each.
With every important document present as a soft copy in their mobiles, the commuters
can now just show these to the police for verification.
Along with all of the above mentioned benefits, the system now greatly helps vehicle
owners lodge a stolen vehicle report from within the app. This can help notify the police
in the nearby locality faster and help track the vehicle in a more efficient manner.
This integrated system greatly improves efficiency and makes way for a better approach
to manage the work of the traffic department. Thus, the major expected outcome of this
project is to improve public welfare using the latest technologies.
Chapter – 9
LIMITATIONS
AND FUTURE
ENHANCMENT
The proposed system can be further enhanced and greatly improved by adding new
functionalities and in-app services. By integrating this system with the Google Cloud
Messaging (GCM) service, we could enable push notifications which would help notify
orsend important updates to the police as well as the general users. Push notifications can
be used to send stolen vehicle reports to the police as well as bookings or offences on a
vehicle to its owner. Also, location tracking (GPS) can be enabled and integrated into the
system which would open up a plethora of possibilities to expand the application, with
traffic updates and location-based vehicle tracking being a few. Addition services may be
added such as in-app service for ambulance assistance where accidents can be quickly
reported which would allow both the police and ambulance drivers to respond to the
emergency more efficiently. Emergency contact alerts could be added where a user in
distress could notify his near and dear ones about an emergency from within the
application..
Chapter – 10
References
Www.Stackoverflow.com
Www.Github.com
Www.Youtube.com/Slidenerd
Www.Youtube.com/yoursTruly
Www.Seminarsonly.com
Www.Ludinchart.com