ORVBAfin
ORVBAfin
ORVBAfin
A PROJECT REPORT
Submitted by
SANJAI S 810020205071)
of
BACHELOR OF TECHNOLOGY
in
INFORMATION TECHNOLOGY
TIRUCHIRAPPALLI – 620024
MAY 2024
ON ROAD VEHICLE BREAKDOWN ASSISTANCE (ORVBA)
A PROJECT REPORT
Submitted by
SANJAI S (810020205071)
of
BACHELOR OF TECHNOLOGY
in
INFORMATION TECHNOLOGY
TIRUCHIRAPPALLI - 620024
MAY 2024
ANNA UNIVERSITY :: CHENNAI 600 025
BONAFIDE CERTIFICATE
We hereby declare that the work entitled “ON ROAD VEHICLE BREAKDOWN
ASSISTANCE (ORVBA)” is submitted in partial fulfilment of the requirement for the
award of the degree in B.Tech (Information Technology) in University College of
Engineering , Anna University, BIT campus, Tiruchirappalli, is record of our work carried
out by us during the academic year 2023-2024 under the supervision and guidance of
Dr.I.Shahanaz Begum, Assistant Professor, Department of IT, University College of
Engineering, BIT campus ,Anna University, Tiruchirappalli. The extent and source of
information are derived from the existing literature and have been indicated through the
dissertation at the appropriate places. The matter embodied in this work is original and
has not been submitted for the award of any degree, either in this or any other
University.
SIGNATURE OF CANDIDATES
SANJAI S(810020205071)
Dr.I.Shahanaz Begum
SUPERVISOR
Assistant Professor
Department of IT
UCE, BIT campus
Anna University.
ACKNOWLEDGEMENT
We also express our sincere thanks to all other staff members, friends, and our
parents for their help and encouragement.
ON ROAD VEHICLE BREAKDOWN ASSISTANCE (ORVBA)
ABSTRACT
This project helps those who are in need of services when their car breaks
down along the roads. This project is going to be a good solution for the people
who seek help in the remote locations with mechanical issues identified in their
vehicle.
iii
TABLE OF CONTENTS
ABSTRACT III
LIST OF FIGURES VI
LIST OF ABBREVIATIONS VII
1 INTRODUCTION 1
2 LITERATURE SURVEY 03
3 EXISTING SYSTEM 08
3.1 DESCRIPTION 08
3.2DISADVANTAGES 08
4 PROPOSED SYSTEM 09
4.1 DESCRIPTION 09
5 SYSTEM REQUIREMENT 17
iv
5.1 SOFTWARE REQUIREMENT 17
6 IMPLEMENTATION 18
6.1 MODULES 18
7.1 CONCLUSION 21
APPENDIX 22
SOURCE CODE 22
OUTPUT SCREENSHOTS 75
REFERENCES 85
v
LIST OF FIGURES
1 ARCHITECTURE DIAGRAM 11
2 USECASE DIAGRAM 13
vi
LIST OF ABBREVIATION
vii
1. INTRODUCTION
User can book the servicer through using the system. The Employee can view
the user request. And user can make the payment using online or cash on
delivery. In this project the admin can add and update the servicer details.
The User can register and login the system using his/her user name and
password. After the login process the user can view and the servicer details
updated by admin.
After viewing the servicer details the user can book the servicer at the vehicle
breakdown location. User sends the request to admin. Admin allocate the
employee to the user.
The overall process is maintained and monitor by admin only. In this project the
employee can register and login the system using his/her user name and
password. After the login process the employee can view the user and delivery
details.
With this changing world we also have to change ourselves according to the
current requirements of the market, there was no proper vehicle servicer
available for the people to get servicer in rare places. Like a forest area, user
can’t get the servicer or anything easily.
1
Here, users of the On-Road Vehicle Breakdown Assistance System can look for a
list of mechanics in the area or at any location that can assist them in an
emergency caused by a mechanical problem with their cars.
During the search, only licensed mechanics are eligible to be mentioned here.
Roadside support for cars is offered, and mechanics are on call to fix any
mechanical problems with the vehicle.
2
2. LITERATURE SURVEY
This project was aimed to deliver an online system for the shop and its
customers. Front-end mobile applications developed in Android platform and
supported by back-end Amazon Web Service Elastic Compute Cloud (AWS
EC2) server will be used by customers and the clerk of the shop. Ultimately, the
main solutions provided by this system are service booking, service reminder,
and car breakdown assistant.
3
The proposed web-based system is designed based on users’ requirements and it
consists of 4 modules which are register and login module, document
management module, inventory module, and reports generating module.
Through this system, employees of Vision Car Service can create, read, update
and delete document information provided by system functionalities, generate
sales and inventory reports as well as manage inventory stocks.
This project is developed using Android Studio and google cloud firebase which
includes a variety of custom tools and libraries helpful to develop Android
based mobile/tablet applications such as database (Fire-store NoSQL), Google
maps support, rich GUI and UI components, etc.
4
3. EXISTING SYSTEM
3.1 DESCRIPTION
In an existing system there are users who have their own mechanics database
which is very minimal. And also they have no idea if their vehicles break down
or had any mechanical issue in remote locations or any long distant locations
from their known mechanic shops. Users with the contacts of people at the
particular place may look for a help from them only if they are ready to do. It is
not possible to find out the suitable mechanic for the desired service at remote
locations. The only way they have is to look for any other transportation at the
time of issue and then they need to get a mechanic to the particular location at
which they have left their vehicle
3.2 DISADVANTAGES
5
4. PROPOSED SYSTEM
4.1 DESCRIPTION
This Vehicle Service Management System can search for a list of mechanics at
any location or the nearby locations which will help them in an unexpected
situation caused by the mechanical issues in their vehicles. Only the licensed
mechanics are found listed while the search is performed. GPS Based On Road
assistance system is designed for attending repairs in the problem facing
vehicles by raising requests to the available mechanics who can come and repair
the mechanical issues in the users vehicle.
ADVANTAGES
7
ON ROAD VEHICLE BREAKDOWN ASSISTANCE
(ORVBA)
Register Register
Login
Login
Login View Employee
Details
View Employee
Update profile Details
View User
Details
Booking (Send
View Request Request)
Make Payment
DATABASE
8
4.3 USE CASE DIAGRAM
A use case diagram (fig 4.3.1) is a representation of a user's interaction with the
system that shows the relationship between the user and the different use cases
in which the user is involved. In this context, a "system" is something being
developed or operated, such as a web site. The "actors" are people or entities
operating under defined roles within the system.
Register
Login
Admin
Booking (Send Request)
Employee
View Request
Make Payment
View user
9
4.4 DATA FLOW DIAGRAM
Symbol Description
An entity. A source of
data or a destination for
data.
A data flow.
10
4.4 DFD Elements
LEVEL 0
The Level 0 DFD shows (fig 4.4(a)) how the system is divided into 'sub-
systems' (processes), each of which deals with one or more of the data flows to
or from an external agent, and which together provide all of the functionality of
the system as a whole. It also identifies internal data stores that must be present
in order for the system to do its job, and shows the flow of data between the
various parts of the system.
Login
View Employee
Details
Admin Database
11
LEVEL 1
The next stage is to create the Level 1 Data Flow Diagram (fig 4.4(b)).
This highlights the main functions carried out by the system. As a rule, to
describe the system was using between two and seven functions - two being a
simple system and seven being a complicated system. This enables us to keep
the model manageable on screen or paper.
Register
Login Database
Employee
Update profile
View Request
12
LEVEL 2
A Data Flow Diagram (DFD) tracks processes and their data paths within
the business or system boundary under investigation. A DFD defines each
domain boundary and illustrates the logical movement and transformation of
data within the defined boundary. The diagram (fig 4.4(c)) shows 'what' input
data enters the domain, 'what' logical processes the domain applies to that data,
and 'what' output data leaves the domain. Essentially, a DFD is a tool for
process modelling and one of the oldest.
Register
Login
View Employee
User Details Database
Booking (Send
Request)
Make Payment
13
5. SYSTEM SPECIFICATION
14
6. IMPLEMENTATION
6.1 MODULES
Admin
Login
View Employee Details
View User Details
Employee
Register
Login
Update Profile
View Request
User
Register
Login
View Employee Details
Booking (Send Request)
Make Payment
Admin
Login
15
This module handled by admin who has all control in this System. Admin
has unique user name and password. Admin can view the both user and
Employee details.
View employee Details
In this module, the Admin can view the employee details like employee
name, id, address, email, mobile, etc.
View User Details
In this module, the admin can view the user details like user name,
address, email, mobile, etc.
Employee
Register
In this module, the new employee can register their details such as name,
age, gender, phone number, service details, address and location so on.
Login
In this module, employee can login the system using his/her username
and password. Registered employee only can login this system.
Update Profile
In this module, the employee can update the profile details to this
application. The profile details are employee name, id, service details,
contact details, address, amount and image details etc.
View Request
In this module the employee can view the user request and its details like
user name, service details, location, mobile, email, etc.
User
Register
In this module, the new user can register their details such as name, age,
gender, phone number, address and location so on.
16
Login
In this module, user can login the system using his/her username and
password.
View employee details
In this module the user can view the employee details like employee
name, id, email, mobile, address, etc.
Booking
By using this module, the user can book the particular employee for
service.
Make Payment
In this module used to make payment. This module contains user’s card
details like name, card no, amount etc.
17
7. CONCLUSION AND FUTURE ENHANCEMENT
7.1 CONCLUSION
This project entitled as “On Road Breakdown Assistance” has been developed
using GPS to satisfy the proposed requirements. The process of service booking
details is safe and secure. This system reduces the possibility of the manual
problem and time. User friendliness is the unique feature of this system. This
system is highly interactive and flexible for further enhancement. The coding is
done in a simplified and understandable manner so that other team trying to
enhance the project can do so without facing much difficulty. The
documentation will also assist in the process as it has also been carried out in a
simplified and concise way.
18
APPENDIX
SOURCE CODE
package com.fs.onroadbreakdown;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
EditText eip;
Button dreg;
SharedPreferences sharedpreferences;
@Override
19
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sharedpreferences = getSharedPreferences(SHARED_PREFS,
Context.MODE_PRIVATE);
eip.setText("192.168.1.3");
dreg=(Button) findViewById(R.id.con);
eip.setText(sharedpreferences.getString("eip",null));
dreg.setOnClickListener(new View.OnClickListener() {
@Override
serverip = eip.getText().toString().trim();
if(serverip.equals(""))
Toast.makeText(getApplicationContext(),"Enter Server ip
",Toast.LENGTH_SHORT).show();
20
}
else {
editor.putString("eip", eip.getText().toString());
editor.commit();
startActivity(nlogs);
});
package com.fs.onroadbreakdown;
import androidx.appcompat.app.AppCompatActivity;
21
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import java.io.DataInputStream;
import java.net.HttpURLConnection;
import java.net.URL;
Button dl;
EditText dlt,dlp;
22
ProgressDialog pDialog;
SharedPreferences sp1;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_admin_login);
23
final String dpwd = dlp.getText().toString();
@Override
super.onPreExecute();
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
@SuppressWarnings("deprecation")
try {
String ur = "http://"+MainActivity.serverip
+"/Android/onroadbreakdown/adminlogin.php?username=" +duname+"&password="+dpwd;
24
Log.i("URL", ur);
String t = "";
txt += t;
Log.i("Read", txt);
dis.close();
} catch (Exception e) {
return txt;
25
String ss= file_url.trim();
if (file_url.trim().equals("Success")) {
editor.putString("EMAIL_KEY1",duname);
editor.putString("AID",duname);
editor.commit();
in.putExtra("dun",duname);
startActivity(in);
else if(file_url.trim().equals("failed")) {
26
dlt.setText("");
dlp.setText("");
else
pDialog.dismiss();
@Override
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
@Override
27
}
package com.fs.onroadbreakdown;
import androidx.appcompat.app.AppCompatActivity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import java.io.DataInputStream;
28
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
Button dl;
ProgressDialog pDialog;
SharedPreferences sp1;
TextView e11;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_employee_login);
);
29
Log.i(TAG, " File path : " + selectedFilePath);
try {
imgView.setImageBitmap(bitmap);
} catch (IOException e) {
e.printStackTrace();
int column_index =
cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
gname= Gn.getText().toString();
30
image=bitmap.toString();
Birth=Gf4.getText().toString();
Number=Gf5.getText().toString();
cnumber=Gf6.getText().toString();
cardcv=Gf7.getText().toString();
if(gname.equals("")||Birth.equals("")||Number.equals("")||cnumber.equals("")
||cardcv.equals(""))
txtStatus.setText("Upload Failed");
}else
uploadTask.doFileUpload(UPLOAD_URL+"?gname="+
URLEncoder.encode(gname)+"&gname1="+URLEncoder.encode(Birth)
31
+">ype="+URLEncoder.encode(Number)
+"&Age="+URLEncoder.encode(cnumber)
+"&uid="+URLEncoder.encode(sp1.getString("UID", null))+
"&Birth="+URLEncoder.encode(cardcv) +
startActivity(lo);
@Override
if (v == btnSelect)
showFileChooser();
else {
txtStatus.setText("Uploading Started...");
uploadImage();
32
}
package com.fs.onroadbreakdown;
import androidx.appcompat.app.AppCompatActivity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
33
import java.io.DataInputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
Button dl;
ProgressDialog pDialog;
SharedPreferences sp1;
TextView e11;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user_login);
34
e11 = (TextView) findViewById(R.id.textView2);
e11.setOnClickListener(v -> {
startActivity(in);
});
dl.setOnClickListener(v -> {
if(dlt.getText().toString().equals("")||dlp.getText().toString().equals("")) {
}else {
new dlogin().execute();
});
35
}
@Override
super.onPreExecute();
pDialog.setMessage("Requesting");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
@SuppressWarnings("deprecation")
36
//Log.i("Read",eusername.get(RecyclerViewItemPosition));
try {
String ur = "http://"+MainActivity.serverip
+"/Android/onroadbreakdown/userlogin.php?eusername="+eusername
+"&epassword="+epassword;
Log.i("URL", ur);
String t = "";
txt += t;
Log.i("Read", txt);
// dis.close();
} catch (Exception e) {
37
return txt;
if (file_url.trim().equals("Success")) {
//UserHome2.putExtra("name",eusername);
editor.putString("UID",eusername);
editor.commit();
startActivity(in);
else if(file_url.trim().equals("failed")) {
38
Toast.makeText(getApplicationContext(), "User name OR password wrong",
Toast.LENGTH_LONG).show();
dlt.setText("");
dlp.setText("");
else
pDialog.dismiss();
package com.fs.onroadbreakdown;
import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.app.ProgressDialog;
39
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import java.net.URLEncoder;
Button dl;
EditText dlt,dlp;
ProgressDialog pDialog;
SharedPreferences sp1;
40
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_book);
Intent is = getIntent();
dl.setOnClickListener(new View.OnClickListener() {
@Override
String pid=is.getStringExtra("pid");
41
uploadT.doDataUpload("http://"+MainActivity.serverip+"/Android/onroadbreakdown/
booke.php?" +
"pid="+ URLEncoder.encode(pid)
+"&uid="+URLEncoder.encode(uid)+
"&quantity="+URLEncoder.encode(pname)+
"&bank="+URLEncoder.encode(dlt.getText().toString())+
"&card="+URLEncoder.encode(dlp.getText().toString())
"&pimg="+ URLEncoder.encode(pimg),handler);
});
@SuppressLint("HandlerLeak")
@Override
if (msg.what == 1) {
42
Toast.makeText(getApplicationContext(), " Success",
Toast.LENGTH_SHORT).show();
finish();
startActivity(ii);
} else
Toast.makeText(getApplicationContext(), "Error",
Toast.LENGTH_SHORT).show();
};
package com.fs.onroadbreakdown;
import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Bundle;
43
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.TextView;
import android.widget.Toast;
import java.net.URLEncoder;
EditText e1,e2,e3,e4,e5;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_payment);
e1=findViewById(R.id.bname);
e2=findViewById(R.id.ctype);
44
@Override
});
new Response.Listener<JSONArray>() {
@Override
45
ParseJSonResponse(response);
},
new Response.ErrorListener() {
@Override
});
requestQueue = Volley.newRequestQueue(ViewBooking.this);
requestQueue.add(RequestOfJSonArray);
46
JSONObject json = null;
try {
json = array.getJSONObject(i);
GetDataAdapter2.setImageTitle(json.getString(P_Name));
GetDataAdapter2.setImageType(json.getString(Image_Name_JSON));
GetDataAdapter2.setImageSize(json.getString(Image_Category));
GetDataAdapter2.setImagePack(json.getString(PID));
GetDataAdapter2.setImagePrice(""+json.getString(Image_Tax));
GetDataAdapter2.setIMGID(json.getString(PID));
GetDataAdapter2.setImageUrl("http://"+MainActivity.serverip+"/Android/
onroadbreakdown/upload/"+json.getString(Image_URL_JSON)+".jpg");
Product_Name.add(json.getString(Image_Name_JSON));
Product_Category.add(json.getString(Image_Category));
Product_Tax.add(json.getString(Image_Tax));
47
Product_Id.add(json.getString(PID));
Product_ImageURL.add(json.getString(Image_URL_JSON));
User_ID.add(json.getString(P_Name));
// User_Details.add(json.getString(P_Description));
// Sbook_Id.add(json.getString(P_Type));
} catch (JSONException e) {
e.printStackTrace();
ListOfdataAdapter.add(GetDataAdapter2);
recyclerView.setAdapter(recyclerViewadapter);
48
OUTPUT SCREENSHOTS
49
Output screenshots (ii)
50
Output screenshots (iii)
51
Output screenshots (iv)
52
Output screenshots (v)
53
Output screenshots (vii)
54
Output screenshots (viii)
55
Output screenshots (ix)
56
Output screenshots (x)
57
Output screenshots (xi)
58
REFERENCES
BOOK REFERENCE
1. Singh, Arushi, and Shilpi Sharma. "Implement Android Application for
Book Donation." 2020 International Conference on Intelligent
Engineering and Management (ICIEM). IEEE, 2020.
2. Bani, Marsi, and Masruddin Masruddin. "Development of Android-based
harmonic oscillation pocket book for senior high school
students." JOTSE: Journal of Technology and Science Education 11.1
(2021): 93-103.
3. Bakri, Fauzi, Alfirsa Sekar Tanmala Putri, and Widyaningrum Indrasari.
"Pocket book based on android: Physics learning practice media in the
21st century." AIP Conference Proceedings. Vol. 2320. No. 1. AIP
Publishing LLC, 2021.
4. Ostapenko, Darya E., and Ilya D. Buldin. "Development of a Book
Recommendation Service for Implementation on Android." 2021 IEEE
Conference of Russian Young Researchers in Electrical and Electronic
Engineering (ElConRus). IEEE, 2021.
5. Firdaus, Adhitya Ferdian, and Rahmania Sri Untari. "Android-Based
Digital Book Development for Basic Network Students." JICTE (Journal
of Information and Computer Technology Education) 4.2 (2020): 7-14.
WEBSITE REFERENCE
https://hackr.io/blog/best-android-books
https://www.guru99.com/best-android-app-development-books.html
https://bookauthority.org/books/beginner-android-development-books
https://www.geeksforgeeks.org/top-10-books-for-android-app-
development/
https://data-flair.training/blogs/android-books/
59