Professional Documents
Culture Documents
vehicle maintenance system
vehicle maintenance system
On
Bachelor of Technology
In
By
R.BHAVANI 20681A0553
A.AKHILA 20681A0504
J.SHARMILA 20681A0522
K.RAKESH 20681A0526
Mrs. D. SWARNA
(Assistant Professor)
2023-2024
xiii
CHRISTU JYOTHI INSTITUTE OF TECHNOLOGY & SCIENCE
2023– 2024
CERTIFICATE
for the requirement for the award of the Degree of Bachelor of Technology in Computer
Science and Engineering offered by Christu Jyothi Institute of Technology and Science,
Jangaon.
External Examiner
ii
CHRISTU JYOTHI INSTITUTE OF TECHNOLOGY & SCIENCE
2023 – 2024
DECLARATION
SYSTEM” submitted to the Christu Jyothi Institute of Technology & Science in partial
fulfilment of the requirements for the award of the degree of Bachelor of Technology -
the guidance of Mrs.D.Swarna, Asst. Prof. and Mrs Ch.Saritha, Asst. prof. , and this
document has not been submitted to any other university for the award of any other degree.
R. BHAVANI 20681A0553
A. AKHILA 20681A0504
J. SHARMILA 20681A0522
K. RAKESH 20681A0526
iii
ACKNOWLEDGEMENT
we would like to thank our Director Rev. Fr. D. VIJAYA PAUL REDDY for giving us
We endow our sincere thanks to Principal Dr. S. CHANDRASHEKAR REDDY for his
We would also like to extend our sincere thanks to Mr. M. RAMARAJU., Assistant
Professor, Head of the Department, Computer Science & Engineering, for his valuable
We would like to extend our gratitude and sincere thanks to our guide Mrs.D.Swarna
We are very thankful to our teachers for providing the required background during the
project work. We would also like to extend our gratitude to our friends and those who are
R. BHAVANI 20681A0553
A. AKHILA 20681A0504
J. SHARMILA 20681A0522
K. RAKESH 20681A0526
iv
CHRISTU JYOTHI INSTITUTE OF TECHNOLOGY & SCIENCE
Vision
To admit and groom students from rural background and be a truly rural technical
Mission
The mission of the institution is to create, deliver and refine knowledge. Being a rural
1. Enhance our position to one of the best technical institutions and to measure our
2. Provide highest quality learning environment to our students for their greater
v
CHRISTU JYOTHI INSTITUTE OF TECHNOLOGY & SCIENCE
Vision
Mission
1. Enrich the knowledge and wisdom with repository of books and modernized
3. Develop the ability to provide sustainable solutions to real world situations with
collaborations
vi
CHRISTU JYOTHI INSTITUTE OF TECHNOLOGY & SCIENCE
PEO 1 Graduates of B. Tech (CSE) are able to formulate, analyse, and solve hardware
and software problems within the constraints and pursue the research.
PEO3 Show the awareness of life-long learning needed for a successful professional
career and exhibit ethical values, excellence, leadership, and social responsibilities.
vii
CHRISTU JYOTHI INSTITUTE OF TECHNOLOGY & SCIENCE
PROGRAM OUTCOMES
PO No Program Outcomes
PO1 Engineering knowledge apply the knowledge of mathematics, science, engineering
fundamentals, and an engineering specialization to the solution of complex engineering
problems.
PO2 Problem analysis identity, formulate, review research literature, and analyze complex
engineering problems reaching substantiated conclusions using first principles of
mathematics, natural sciences, and engineering sciences
PO3 Design/development of solutions design solutions for complex engineering problems and
design system components or processes that meet the specified needs with appropriate
consideration for the public health and safety, and the cultural, societal, and environmental
considerations.
PO4 Conduct investigations of complex problems use research-based knowledge and research
methods including design of experiments, analysis and interpretation of data, and synthesis
of the information to provide valid conclusions.
PO5 Modern tools usage Create, Select, and apply appropriate techniques resources, and modern
engineering and IT tools including predictions and modeling to complex engineering
activities with an understanding of the limitations.
PO6 The engineer and society apply reasoning informed by the contextual knowledge to assess
societal and environment contexts, and demonstrate the knowledge of, and need for
sustainable development.
PO7 Environment and sustainability understand the impact of the professional engineering
solutions in societal and environmental contexts, and demonstrate the knowledge of, and
need for sustainable development.
PO8 Ethics apply ethical principles and commit to professional ethics and responsibilities and
norms of the engineering practice.
P09 Individual and team work function effectively as an individual, and as a member or leader in
diverse teams, and in multidisciplinary settings
PO10 Communication communicates effectively on complex engineering activities with the
engineering community and with society at large, such as, being able to comprehend and
write effective reports and design documentation, make effective presentations.
PO11 Project management and finance demonstrate knowledge and understanding of the
engineering and management principles and apply these to one’s own work, as a member
and leader in a team, to manage projects and in multidisciplinary environments.
PO12 Life-long learning recognizes the need for, and have the preparation and ability to engage
and lifelong learning in the broadest context of technology change.
viii
CHRISTU JYOTHI INSTITUTE OF TECHNOLOGY & SCIENCE
PSO 1 Proficiency Skill: Understand, analyse and develop computer programs in the
areas related to algorithms, system software, multimedia, web design, big data analytics
ix
ABSTRACT
Owners of vehicles can avoid unforeseen car problems by maintaining their vehicles
developing into serious difficulties. Owners of vehicles frequently inquire about service
at auto shops. Vehicle technicians examine crucial parts of the vehicle and fix problems
to make sure they are in good condition and won't break down suddenly. The study was
carried out by the researchers to evaluate the everyday activities and transactions carried
out in auto repair facilities. The researchers gathered preliminary data and discovered that
the majority of auto repair companies or garages still handle their daily transactions
manually. Customer records are still entered manually, as are transactions with clients,
tracking of vehicle repairs as they are made, updates on vehicle services, and billing. The
functioning of the garage and the response time to client inquiries will be slowed by the
The researchers have identified a need to modernize how auto repair shops work.
Customers and car garages will both profit from the system's installation. Utilizing the
technology to run the company will help car garages expand and improve operational
efficiency. Customers may do business for car service easily and comfortably.
x
Table of Contents
1.INTRODUCTION ........................................................................................................ 1
xi
7.6 EQUIVALENCE CLASS TESTING ......................................................... 46
7.7 REGRESSION TESTING ........................................................................ 46
7.8 USER ACCEPTANCE TESTING ............................................................. 46
8.OUTPUT SCREEN .................................................................................................... 47
9.CONCLUSION........................................................................................................... 50
11.REFERENCES ......................................................................................................... 52
xii
List of Figures
xiii
xii2
1.INTRODUCTION
Vehicles now play a significant role in daily life. The vast majority of individuals
commute daily using the automobile. However, car maintenance is frequently disregarded.
Regular maintenance helps ensure that the car runs smoothly and that fuel is used
effectively. Another issue is that when automobiles are taken in for servicing or
maintenance, it is presumed that repairs would be made carefully, but it has been noted
that multiple vehicle accidents occur each year as a result of the neglect of repair facilities
When the car is handed over for repair, the problem of confidence is crucial. Customers
are frequently taken advantage of under the name of service. A serious issue is the
for clients to confirm that the service providers are doing the tasks for which they are
paying. Service providers take advantage of this circumstance and overcharge customers.
The practice of "periodic vehicle maintenance," which mandates that the vehicle have
the mileage traveled. Generally speaking, it is advised to get the car serviced every six
months or 10,000 kilometers. However, the problem with "periodic vehicle maintenance"
is that it's difficult to determine which parts need to be repaired or replaced, which might
lead to repairs or replacements of parts that are still in good shape. Predictive vehicle
maintenance proves useful in this situation. This data is obtained from numerous built-in
or customized sensors in the car that are used to keep track of the condition of various
components. To analyze and make decisions, this data is relayed via the internet, and the
1
chance of failure in the future is then predicted. When a consumer uses this approach to
choose when to service their automobile and which part to fix, it saves them a lot of time
and money since it gives them transparency. A certain system could occasionally require
maintenance or repair before the next scheduled due date. The solution effectively
manages this problem since the user instantly receives a warning on their mobile
application. This prevents the buyer from having to pay more money for the additional
damage the
automobile would have sustained if the defective item had been driven. Given that the
service center already has cameras installed, our solution makes advantage of such
system's operational mechanism is explained in Section II. This study explains how
2
2.LITERATURE SURVEY
paper likely explores the latest developments in online surveying techniques, indicating
a shift towards digital methodologies in data collection and analysis.It may discuss the
reach, and faster data processing.The paper could also address challenges associated with
bias.Potential areas of application for online surveying discussed could include market
2."A Study On Employee Safety And Health Management" by Dr. C.K.Gomathy and C
employee safety and health in the workplace.It may discuss various aspects of safety
compliance.The paper could explore the role of technology in enhancing workplace safety,
such as the use of IoT devices, wearable technology, and data analytics.Practical
implications for organizations aiming to improve their safety and health management
systems may be highlighted, along with potential benefits such as reduced accidents,
3."A Study on the Effect of Digital Literacy and Information Management" by Dr. C K
Gomathy:This paper likely investigates the impact of digital literacy and information
digital skills in the contemporary digital age, including abilities such as information
3
strategies for improving digital literacy among different demographic groups, such as
teaching and learning experiences.It may discuss various technologies and tools used in
software.The paper could explore the benefits of integrating ICT into pedagogical
settings may be provided, along with considerations for effective implementation and
software release management within supply chain operations.It may discuss the
importance of efficient software release processes for ensuring the timely delivery of
products and services.The paper could explore various technologies and methodologies
4
3.SYSTEM ANALYSIS
gaps, and data management challenges due to its reliance on manual processes and basic
more robust and integrated solution to address these shortcomings and improve overall
Disadvantages
1.Manual Processes: Many existing systems rely heavily on manual data entry and
2.Limited Accessibility: Some systems may not offer convenient access for users, such
as service technicians or vehicle owners, who may need to access information remotely
billing, may be lacking, leading to disjointed workflows and redundant data entry.
4.Poor Usability: Complex interfaces or outdated user experiences can make it difficult
for users to navigate the system effectively, leading to frustration and decreased
productivity.
5
5.Inadequate Scalability: Legacy systems may struggle to accommodate growth in data
volume or user base, leading to performance issues and system downtime during peak
usage periods.
6.Security Vulnerabilities: Older systems may lack robust security features, putting
process:
VMS automates job scheduling, parts inventory management, and service tracking,
leading to increased efficiency and reduced turnaround times for maintenance tasks.
The system provides secure, web-based access to stakeholders, enabling them to retrieve
Improved Transparency: VMS offers real-time visibility into job statuses, service
histories, and billing details, fostering transparency and trust between service providers
and customers. By automating repetitive tasks and centralizing data management, VMS
6
Overall, the proposed VMS represents a significant advancement over the existing
Advantages
scheduling, work order creation, and parts management, reducing manual paperwork and
place, timely servicing and inspections can be scheduled, ensuring that vehicles are well-
addressing issues early, the system helps minimize repair expenses and extends the
4. Improved Safety: Regular maintenance not only enhances vehicle performance but also
contributes to improved safety on the road. By ensuring that vehicles are properly
maintained and meet safety standards, the system helps mitigate the risk of accidents and
7
6. Optimized Inventory Management: Efficient parts and inventory management ensure
that necessary components are always available when needed for maintenance tasks,
7. Data-Driven Decision Making: The system collects and analyzes data on maintenance
activities, vehicle performance, and costs, providing valuable insights for decision-
making. Fleet managers can use this data to optimize maintenance schedules, identify
transportation services, the system helps maintain high levels of customer satisfaction and
loyalty.
9. Real-Time Monitoring and Alerts: Integration with diagnostic tools and sensors enables
real-time monitoring of vehicle health and performance. The system can generate alerts
for potential issues, allowing proactive maintenance actions to be taken before problems
escalate.
10. Scalability and Flexibility: As fleets grow or business needs change, the system can
easily scale to accommodate additional vehicles and users. Its flexible architecture allows
8
3.3 METHODOLOGY
The building of the Vehicle Service Management System in Django is suggested in this
essay. The solution will streamline the administrative tasks related to handling business
transactions in a car garage. The following transactions are included in the list: recording
customer records, tracking the status of car repairs, updating vehicle service orders,
customers, and billing. The suggested idea would do away with manual processes and
transactions in auto repair facilities. The system will operate as a hub for transactions that
overall client happiness when it comes to receiving car service. 1Time-consuming: Since
the initial booking and charge estimation are handled directly by the website, less time is
needed to visit the store and complete these tasks. Simple to use: Since it is a website, the
client may access it without downloading any apps to their phone. The user doesn't need
system: The client won't need to travel since the website will facilitate the online
completion of tasks. The goal of the vehicle services is to give system users better
information so they can maintain their sales, purchases, and stock information more
effectively.
9
Figure 1: System Architecture
Modules
1. Admin Module
2. Customer Module
3. Mechanic Module
1.Admin Module
Dashboard: The admin may view all of the details in this part, including the total number
of users registered, total inquiries, total mechanics, and total services. Using a customer's
10
phone number, email address, or contact number, the administrator can search inquiries
in this section. Service Search: The administrator can use the phone number, email
address, or contact number of a client to search for services in this area. Mechanics: The
administrator can control mechanics in this area (add, delete, and update). the type of
vehicle. The administrator can control the vehicle category in this area (add, delete and
update) Reg Users: The administrator can examine and edit user details in this area.
Service Demand: The administrator may add service charges (service fee and any extra
parts fees that may apply) in this area. Based on status, the admin may view services
(pending services, rejected services, and complete services). Admins can also approve
pending policies. Client Inquiry The administrator can answer client inquiries in this
2. Customers Module
Dashboard Enquiry: Here, the user may complete the form and see whether or not his
inquiry has received a response (which is done by the admin). Service Request: In this
part, the user may complete the service form, check the progress of the service, see how
much is being charged for the service, and print an amount slip (which is done by the
admin). Users may also change their passwords, retrieve their passwords, and update their
profiles.
3.Mechanics Module
The mechanic may examine the tasks the admin has assigned him in this section. He
can also look up the attendance record. The vehicle's state is updated by the mechanic
11
4.SYSTEM DESIGN
A Data Flow Diagram (DFD) is a graphical representation that illustrates the flow of data
within a system. This diagram shows how the flow of the project moves on from vehicle
Here, the customer who engages with creating services for their vehicle problems and
mechanics who handles the requests of the service by customers and admin who overlook
all the work done by mechanics and feedback from the customers.
12
4.2 UML DIAGRAMS
UML diagram is a diagram based on the UML (Unified Modelling Language) that is used
to visually describe a system, including its major actors, roles, actions, artifacts, or classes,
The goal is for UML to become a common language for creating models of object oriented
computer software. In its current form UML is comprised of two major components: a
Meta-model and a notation. In the future, some form of method or process may also be
added to; or associated with, UML. The UML is a very important part of developing
objects oriented software and the software development process. The UML uses mostly
13
4.2.1. USECASE DIAGRAM
A Use case Diagram is used to present a graphical overview of the functionality provided
by a system in terms of actors, their goals and any dependencies between those use cases.
Use case diagram consists of two parts: Use case: A use case describes a sequence of
horizontal ellipse. Actor: An actor is a person, organization or external system that plays
14
4.2.2 SEQUENCE DIAGRAM
A Sequence diagram is a kind of interaction diagram that shows how processes operate
with one another and in what order. It is a construct of Message Sequence diagrams are
15
4.2.3 CLASS DIAGRAM
A class diagram is a type of static structure diagram in the Unified Modeling Language
(UML) that depicts the structure of a system by showing the classes, their attributes,
16
4.2.4 ACTIVITY DIAGRAM
Activity diagram is a graphical representation of workflows of stepwise activities and
actions with support for choice, iteration and concurrency. An activity diagram shows the
17
5. HARDWARE AND SOFTWARE REQUIREMENTS
the system's features, restrictions, and performance needs, as well as any external
The SRS document acts as a template for the development team and a foundation for
validating that the system satisfies the demands of the stakeholders. Some significant
• Computer
• Operating System
• Memory (RAM)
• Network Connectivity
18
6.CODE TEMPLATES
class Customer(models.Model):
user=models.OneToOneField(User,on_delete=models.CASCADE)
profile_pic=
models.ImageField(upload_to='profile_pic/CustomerProfilePic/',null=True,blank=True)
address = models.CharField(max_length=40)
mobile = models.CharField(max_length=20,null=False)
@property
def get_name(self):
@property
def get_instance(self):
return self
def _str_(self):
return self.user.first_name
class Mechanic(models.Model):
user=models.OneToOneField(User,on_delete=models.CASCADE)
profile_pic=
models.ImageField(upload_to='profile_pic/MechanicProfilePic/',null=True,blank=True)
19
address = models. CharField(max_length=40)
mobile = models.CharField(max_length=20,null=False)
skill = models.CharField(max_length=500,null=True)
salary=models.PositiveIntegerField(null=True)
status=models.BooleanField(default=False)
@property
def get_name(self):
@property
def get_id(self):
return self.user.id
def _str_(self):
return self.user.first_name
class Request(models.Model):
category=models.CharField(max_length=50,choices=cat)
vehicle_no=models.PositiveIntegerField(null=False)
vehicle_name = models.CharField(max_length=40,null=False)
vehicle_model = models.CharField(max_length=40,null=False)
vehicle_brand = models.CharField(max_length=40,null=False)
problem_description = models.CharField(max_length=500,null=False)
date=models.DateField(auto now=True)
20
cost=models.PositiveIntegerField(null=True)
customer=models.ForeignKey('Customer', on_delete=models.CASCADE,null=True)
mechanic=models.ForeignKey('Mechanic',on_delete=models.CASCADE,null=True)
stat=(('Pending','Pending'),('Approved','Approved'),('Repairing','Repairing'),('Repairing
Done','Repairing Done'),('Released','Released'))
status=models.CharField(max_length=50,choices=stat,default='Pending',null=True)
def _str_(self):
return self.problem_description
class Attendance(models.Model):
mechanic=models.ForeignKey('Mechanic',on_delete=models.CASCADE,null=True)
date=models.DateField()
present_status = models.CharField(max_length=10)
class Feedback(models.Model):
date=models.DateField(auto_now=True)
by=models.CharField(max_length=40)
message=models.CharField(max_length=500)
21
def home_view(request):
if request.user.is_authenticated:
return HttpResponseRedirect('afterlogin')
return render(request,'vehicle/index.html'
def customerclick_view(request):
if request.user.is_authenticated:
return HttpResponseRedirect('afterlogin')
return render(request,'vehicle/customerclick.html')
def mechanicsclick_view(request):
if request.user.is_authenticated:
return HttpResponseRedirect('afterlogin')
return render(request,'vehicle/mechanicsclick.html')
def adminclick_view(request):
if request.user.is_authenticated:
return HttpResponseRedirect('afterlogin')
return HttpResponseRedirect('adminlogin')
def customer_signup_view(request):
userForm=forms.CustomerUserForm()
customerForm=forms.CustomerForm()
mydict={'userForm':userForm,'customerForm':customerForm}
22
if request.method=='POST':
userForm=forms.CustomerUserForm(request.POST)
customerForm=forms.CustomerForm(request.POST,request.FILES)
user=userForm.save()
user.set_password(user.password)
user.save()
customer=customerForm.save(commit=False)
customer.user=user
customer.save()
my_customer_group = Group.objects.get_or_create(name='CUSTOMER')
my_customer_group[0].user_set.add(user)
return HttpResponseRedirect('customerlogin')
return render(request,'vehicle/customersignup.html',context=mydict)
def mechanic_signup_view(request):
userForm=forms.MechanicUserForm()
mechanicForm=forms.MechanicForm()
mydict={'userForm':userForm,'mechanicForm':mechanicForm}
if request.method=='POST':
userForm=forms.MechanicUserForm(request.POST)
mechanicForm=forms.MechanicForm(request.POST,request.FILES)
user=userForm.save()
23
user.set_password(user.password)
user.save()
mechanic=mechanicForm.save(commit=False)
mechanic.user=user
mechanic.save()
my_mechanic_group = Group.objects.get_or_create(name='MECHANIC')
my_mechanic_group[0].user_set.add(user)
return HttpResponseRedirect('mechaniclogin')
return render(request,'vehicle/mechanicsignup.html',context=mydict)
def is_customer(user):
return user.groups.filter(name='CUSTOMER').exists()
def is_mechanic(user):
return user.groups.filter(name='MECHANIC').exists()
def afterlogin_view(request):
if is_customer(request.user):
return redirect('customer-dashboard')
elif is_mechanic(request.user):
accountapproval=models.Mechanic.objects.all().filter(user_id=request.user.id,status=Tr
ue)
if accountapproval:
return redirect('mechanic-dashboard')
else:
return render(request,'vehicle/mechanic_wait_for_approval.html')
24
else:
return redirect('admin-dashboard')
@login_required(login_url='adminlogin')
def admin_dashboard_view(request):
enquiry=models.Request.objects.all().order_by('-id')
customers=[]
customer=models.Customer.objects.get(id=enq.customer_id)
customers.append(customer)
dict={
'total_customer':models.Customer.objects.all().count(),
'total_mechanic':models.Mechanic.objects.all().count(),
'total_request':models.Request.objects.all().count(),
'total_feedback':models.Feedback.objects.all().count(),
'data':zip(customers,enquiry),
return render(request,'vehicle/admin_dashboard.html',context=dict)
@login_required(login_url='adminlogin')
def admin_customer_view(request):
return render(request,'vehicle/admin_customer.html')
@login_required(login_url='adminlogin')
def admin_view_customer_view(request):
customers=models.Customer.objects.all()
25
return render(request,'vehicle/admin_view_customer.html',{'customers':customers})
@login_required(login_url='adminlogin')
def delete_customer_view(request,pk):
customer=models.Customer.objects.get(id=pk)
user=models.User.objects.get(id=customer.user_id)
user.delete()
customer.delete()
return redirect('admin-view-customer')
@login_required(login_url='adminlogin')
def update_customer_view(request,pk):
customer=models.Customer.objects.get(id=pk)
user=models.User.objects.get(id=customer.user_id)
userForm=forms.CustomerUserForm(instance=user)
customerForm=forms.CustomerForm(request.FILES,instance=customer)
mydict={'userForm':userForm,'customerForm':customerForm}
if request.method=='POST':
userForm=forms.CustomerUserForm(request.POST,instance=user)
customerForm=forms.CustomerForm(request.POST,request.FILES,instance=customer)
user=userForm.save()
user.set_password(user.password)
user.save()
customerForm.save()
26
return redirect('admin-view-customer')
return render(request,'vehicle/update_customer.html',context=mydict)
@login_required(login_url='adminlogin')
def admin_add_customer_view(request):
userForm=forms.CustomerUserForm()
customerForm=forms.CustomerForm()
mydict={'userForm':userForm,'customerForm':customerForm}
if request.method=='POST':
userForm=forms.CustomerUserForm(request.POST)
customerForm=forms.CustomerForm(request.POST,request.FILES)
user=userForm.save()
user.set_password(user.password)
user.save()
customer=customerForm.save(commit=False)
customer.user=user
customer.save()
my_customer_group = Group.objects.get_or_create(name='CUSTOMER')
my_customer_group[0].user_set.add(user)
return HttpResponseRedirect('/admin-view-customer')
return render(request,'vehicle/admin_add_customer.html',context=mydict)
@login_required(login_url='adminlogin')
def admin_view_customer_enquiry_view(request):
27
enquiry=models.Request.objects.all().order_by('-id')
customers=[]
customer=models.Customer.objects.get(id=enq.customer_id)
customers.append(customer)
return
render(request,'vehicle/admin_view_customer_enquiry.html',{'data':zip(customers,enqui
ry)})
@login_required(login_url='adminlogin')
def admin_view_customer_invoice_view(request):
enquiry=models.Request.objects.values('customer_id').annotate(Sum('cost'))
print(enquiry)
customers=[]
print(enq)
customer=models.Customer.objects.get(id=enq['customer_id'])
customers.append(customer)
return
render(request,'vehicle/admin_view_customer_invoice.html',{'data':zip(customers,enqui
ry)})
@login_required(login_url='adminlogin')
def admin_mechanic_view(request):
return render(request,'vehicle/admin_mechanic.html')
28
@login_required(login_url='adminlogin')
def admin_approve_mechanic_view(request):
mechanics=models.Mechanic.objects.all().filter(status=False)
return
render(request,'vehicle/admin_approve_mechanic.html',{'mechanics':mechanics})
@login_required(login_url='adminlogin')
def approve_mechanic_view(request,pk):
mechanicSalary=forms.MechanicSalaryForm()
if request.method=='POST':
mechanicSalary=forms.MechanicSalaryForm(request.POST)
if mechanicSalary.is_valid():
mechanic=models.Mechanic.objects.get(id=pk)
mechanic.salary=mechanicSalary.cleaned_data['salary']
mechanic.status=True
mechanic.save()
else:
print("form is invalid")
return HttpResponseRedirect('/admin-approve-mechanic')
return
render(request,'vehicle/admin_approve_mechanic_details.html',{'mechanicSalary':mech
anicSalary})
@login_required(login_url='adminlogin')
def delete_mechanic_view(request,pk):
mechanic=models.Mechanic.objects.get(id=pk)
29
user=models.User.objects.get(id=mechanic.user_id)
user.delete()
mechanic.delete()
return redirect('admin-approve-mechanic')
@login_required(login_url='adminlogin')
def admin_add_mechanic_view(request):
userForm=forms.MechanicUserForm()
mechanicForm=forms.MechanicForm()
mechanicSalary=forms.MechanicSalaryForm()
mydict={'userForm':userForm,'mechanicForm':mechanicForm,'mechanicSalary':mechan
icSalary}
if request.method=='POST':
userForm=forms.MechanicUserForm(request.POST)
mechanicForm=forms.MechanicForm(request.POST,request.FILES)
mechanicSalary=forms.MechanicSalaryForm(request.POST)
user=userForm.save()
user.set_password(user.password)
user.save()
mechanic=mechanicForm.save(commit=False)
mechanic.user=user
mechanic.status=True
mechanic.salary=mechanicSalary.cleaned_data['salary']
30
mechanic.save()
my_mechanic_group = Group.objects.get_or_create(name='MECHANIC')
my_mechanic_group[0].user_set.add(user)
return HttpResponseRedirect('admin-view-mechanic')
else:
print('problem in form')
return render(request,'vehicle/admin_add_mechanic.html',context=mydict)
@login_required(login_url='adminlogin')
def admin_view_mechanic_view(request):
mechanics=models.Mechanic.objects.all()
return render(request,'vehicle/admin_view_mechanic.html',{'mechanics':mechanics}
@login_required(login_url='adminlogin')
def delete_mechanic_view(request,pk):
mechanic=models.Mechanic.objects.get(id=pk)
user=models.User.objects.get(id=mechanic.user_id)
user.delete()
mechanic.delete()
return redirect('admin-view-mechanic')
@login_required(login_url='adminlogin')
def update_mechanic_view(request,pk):
mechanic=models.Mechanic.objects.get(id=pk)
user=models.User.objects.get(id=mechanic.user_id)
userForm=forms.MechanicUserForm(instance=user)
31
mechanicForm=forms.MechanicForm(request.FILES,instance=mechanic)
mydict={'userForm':userForm,'mechanicForm':mechanicForm}
if request.method=='POST':
userForm=forms.MechanicUserForm(request.POST,instance=user)
mechanicForm=forms.MechanicForm(request.POST,request.FILES,instance=mechanic
)
user=userForm.save()
user.set_password(user.password)
user.save()
mechanicForm.save()
return redirect('admin-view-mechanic')
return render(request,'vehicle/update_mechanic.html',context=mydict)
@login_required(login_url='adminlogin')
def admin_view_mechanic_salary_view(request):
mechanics=models.Mechanic.objects.all()
return
render(request,'vehicle/admin_view_mechanic_salary.html',{'mechanics':mechanics})
@login_required(login_url='adminlogin')
def update_salary_view(request,pk):
mechanicSalary=forms.MechanicSalaryForm()
if request.method=='POST':
mechanicSalary=forms.MechanicSalaryForm(request.POST)
if mechanicSalary.is_valid():
32
mechanic=models.Mechanic.objects.get(id=pk)
mechanic.salary=mechanicSalary.cleaned_data['salary']
mechanic.save()
else:
print("form is invalid")
return HttpResponseRedirect('/admin-view-mechanic-salary')
return
render(request,'vehicle/admin_approve_mechanic_details.html',{'mechanicSalary':mech
anicSalary})
@login_required(login_url='adminlogin')
def admin_request_view(request):
return render(request,'vehicle/admin_request.html')
@login_required(login_url='adminlogin')
def admin_view_request_view(request):
enquiry=models.Request.objects.all().order_by('-id')
customers=[]
customer=models.Customer.objects.get(id=enq.customer_id)
customers.append(customer)
return
render(request,'vehicle/admin_view_request.html',{'data':zip(customers,enquiry)})
@login_required(login_url='adminlogin')
def change_status_view(request,pk):
adminenquiry=forms.AdminApproveRequestForm()
33
if request.method=='POST':
adminenquiry=forms.AdminApproveRequestForm(request.POST)
if adminenquiry.is_valid():
enquiry_x=models.Request.objects.get(id=pk)
enquiry_x.mechanic=adminenquiry.cleaned_data['mechanic']
enquiry_x.cost=adminenquiry.cleaned_data['cost']
enquiry_x.status=adminenquiry.cleaned_data['status']
enquiry_x.save()
else:
print("form is invalid")
return HttpResponseRedirect('/admin-view-request')
return
render(request,'vehicle/admin_approve_request_details.html',{'adminenquiry':adminenq
uiry})
@login_required(login_url='adminlogin')
def admin_delete_request_view(request,pk):
requests=models.Request.objects.get(id=pk)
requests.delete()
return redirect('admin-view-request')
@login_required(login_url='adminlogin')
def admin_add_request_view(request):
enquiry=forms.RequestForm()
adminenquiry=forms.AdminRequestForm()
mydict={'enquiry':enquiry,'adminenquiry':adminenquiry}
34
if request.method=='POST':
enquiry=forms.RequestForm(request.POST)
adminenquiry=forms.AdminRequestForm(request.POST)
enquiry_x=enquiry.save(commit=False)
enquiry_x.customer=adminenquiry.cleaned_data['customer']
enquiry_x.mechanic=adminenquiry.cleaned_data['mechanic']
enquiry_x.cost=adminenquiry.cleaned_data['cost']
enquiry_x.status='Approved'
enquiry_x.save()
else:
print("form is invalid")
return HttpResponseRedirect('admin-view-request')
return render(request,'vehicle/admin_add_request.html',context=mydict)
@login_required(login_url='adminlogin')
def admin_approve_request_view(request):
enquiry=models.Request.objects.all().filter(status='Pending')
return render(request,'vehicle/admin_approve_request.html',{'enquiry':enquiry})
@login_required(login_url='adminlogin')
def approve_request_view(request,pk):
adminenquiry=forms.AdminApproveRequestForm()
if request.method=='POST':
adminenquiry=forms.AdminApproveRequestForm(request.POST)
35
if adminenquiry.is_valid():
enquiry_x=models.Request.objects.get(id=pk)
enquiry_x.mechanic=adminenquiry.cleaned_data['mechanic']
enquiry_x.cost=adminenquiry.cleaned_data['cost']
enquiry_x.status=adminenquiry.cleaned_data['status']
enquiry_x.save()
else:
print("form is invalid")
return HttpResponseRedirect('/admin-approve-request')
return
render(request,'vehicle/admin_approve_request_details.html',{'adminenquiry':adminenq
uiry})
@login_required(login_url='adminlogin')
def admin_view_service_cost_view(request):
enquiry=models.Request.objects.all().order_by('-id')
customers=[]
customer=models.Customer.objects.get(id=enq.customer_id)
customers.append(customer)
print(customers)
return
render(request,'vehicle/admin_view_service_cost.html',{'data':zip(customers,enquiry)})
@login_required(login_url='adminlogin')
def update_cost_view(request,pk):
36
updateCostForm=forms.UpdateCostForm()
if request.method=='POST':
updateCostForm=forms.UpdateCostForm(request.POST)
if updateCostForm.is_valid():
enquiry_x=models.Request.objects.get(id=pk)
enquiry_x.cost=updateCostForm.cleaned_data['cost']
enquiry_x.save()
else:
print("form is invalid")
return HttpResponseRedirect('/admin-view-service-cost')
return
render(request,'vehicle/update_cost.html',{'updateCostForm':updateCostForm})
@login_required(login_url='adminlogin')
def admin_mechanic_attendance_view(request):
return render(request,'vehicle/admin_mechanic_attendance.html')
@login_required(login_url='adminlogin')
def admin_take_attendance_view(request):
mechanics=models.Mechanic.objects.all().filter(status=True)
aform=forms.AttendanceForm()
if request.method=='POST':
form=forms.AttendanceForm(request.POST)
if form.is_valid():
Attendances=request.POST.getlist('present_status')
date=form.cleaned_data['date']
37
for i in range(len(Attendances)):
AttendanceModel=models.Attendance()
AttendanceModel.date=date
AttendanceModel.present_status=Attendances[i]
print(mechanics[i].id)
print(int(mechanics[i].id))
mechanic=models.Mechanic.objects.get(id=int(mechanics[i].id))
AttendanceModel.mechanic=mechanic
AttendanceModel.save()
return redirect('admin-view-attendance')
else:
print('form invalid')
return
render(request,'vehicle/admin_take_attendance.html',{'mechanics':mechanics,'aform':afo
rm})
@login_required(login_url='adminlogin')
def admin_view_attendance_view(request):
form=forms.AskDateForm()
if request.method=='POST':
form=forms.AskDateForm(request.POST)
if form.is_valid():
date=form.cleaned_data['date']
attendancedata=models.Attendance.objects.all().filter(date=date)
38
mechanicdata=models.Mechanic.objects.all().filter(status=True)
mylist=zip(attendancedata,mechanicdata)
return
render(request,'vehicle/admin_view_attendance_page.html',{'mylist':mylist,'date':date})
else:
print('form invalid')
return render(request,'vehicle/admin_view_attendance_ask_date.html',{'form':form})
@login_required(login_url='adminlogin')
def admin_report_view(request):
reports=models.Request.objects.all().filter(Q(status="Repairing Done") |
Q(status="Released"))
dict={
'reports':reports,
return render(request,'vehicle/admin_report.html',context=dict)
@login_required(login_url='adminlogin')
def admin_feedback_view(request):
feedback=models.Feedback.objects.all().order_by('-id')
return render(request,'vehicle/admin_feedback.html',{'feedback':feedback
#!/usr/bin/env python
import os
import syS
39
def main():
os.environ.setdefault('DJANGO_SETTINGS_MODULE',
'vehicleservicemanagement.settings')
try:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
) from exc
execute_from_command_line(sys.argv)
if _name_ == '_main_':
main()
<!DOCTYPE html>
<html>
<head>
<style>
footer {
40
background-color: #4f55c7;
margin: 0px;
.fa {
padding: 20px;
font-size: 23px;
width: 60px;
text-align: center;
text-decoration: none;
border-radius: 50%;
.fa:hover {
opacity: 0.5;
text-decoration: none;
.fa-facebook {
background: #3B5998;
color: white;
margin-top: 30px;
.fa-whatsapp {
background: #25d366;
41
color: white;
.fa-twitter {
background: #55ACEE;
color: white;
.fa-instagram {
background: #125688;
color: white;
p{
text-align: center;
</style>
</head>
<footer>
<p>
<a
href="https://api.whatsapp.com/send?phone=919572181024&text=Hello%20Sumit.%0
d%0aHow%20are%20you%20%3f%0d%0aI%20came%20from%20your%20website.&
source=&data=#" class="fa fa-whatsapp"></a>
42
</p>
<br>
<div class="container">
<div class="row">
</div>
</div> </div>
</div></footer>
</html>
43
7.TESTING TECHNIQUES
TESTING
Testing is a process of executing a program with the intent of finding an error. A good
test case is one that has a high probability of finding an as-yet –undiscovered error. A
successful test is one that uncovers an as-yet- undiscovered error. System testing is the
stage of implementation, which is aimed at ensuring that the system works accurately and
efficiently as expected before live operation commences. It verifies that the whole set of
programs hang together. System testing requires a test consists of several key activities
and steps for run program, string, system and is important in adopting a successful new
system. This is the last chance to detect and correct errors before the system is installed
The software testing process commences once the program is created and the
documentation and related data structures are designed. Software testing is essential for
correcting errors. Otherwise the program or the project is not said to be complete.
Software testing is the critical element of software quality assurance and represents the
ultimate the review of specification design and coding. Testing is the process of executing
the program with the intent of finding the error. A good test case design is one that as a
probability of finding an yet undiscovered error. A successful test is one that uncovers an
yet undiscovered error. Any engineering product can be tested in one of the two ways:
of the project with the help of the user by negotiating to establish a method for resolving
deficiencies. Thus the proposed system under consideration has been tested by using
validation testing and found to be working satisfactorily. Though there were deficiencies
44
7.1 UNIT TESTING
in your code.
How: Write test cases for each function or method to ensure they behave as expected.
Framework: You can use the Pytest framework1 for efficient and effective unit testing.
Example: Ensure that the vehicle information is correctly stored in the database when a
Example: Test the process of booking a vehicle service appointment, including input
45
How: Identify edge cases (minimum, maximum, and critical values) and test them.
Example: Test the system’s behavior when a vehicle’s mileage exceeds a certain
threshold.
Example: Test different vehicle types (e.g., sedan, SUV, truck) to ensure consistent
How: Re-run existing test cases after making updates to the codebase.
Example: After adding a new feature (e.g., spare parts inventory management), verify that
under consideration is tested for user acceptance by constantly keeping in touch with
prospective system and user at the time of developing and making changes whenever
46
8.OUTPUT SCREEN
47
Figure 9: Customer Loginpage
48
Figure 11: Mechanic Dashboard
49
9.CONCLUSION
Vehicles need to be serviced to ensure that they are in good shape and function well.
The result of the study showed that the developed system met the needs and requirements
The result showed that the respondents rated the system satisfactorily in terms of user
The system will both benefit vehicle garages and customers. For vehicle garages, utilizing
the system to operate the business will help them grow and increase business efficiency.
For customers, can easily and conveniently make transactions for vehicle servicing.
system contributes to the long-term sustainability of both vehicle garages and the
automotive industry as a whole. Sustainable practices not only benefit the environment
but also foster stability and resilience in the face of economic fluctuations and market
changes. This system has a positive impact on the local community by creating
As vehicle garages thrive, they contribute to the overall prosperity and well-being of the
50
10.FUTURE SCOPE
This software eliminates manual labor and any associated issues. It is a simple
approach to learning more about the many products that are available at supermarkets.
The company, product id, product name, and the number of quantities available are
the only information that is often provided when we seek information on a certain
product. After receiving the information, we may reach the product firm's website by
simply clicking on the name of the product. The option for searching is the next
From our website, we may easily search for a certain product firm. These two
51
11.REFERENCES
[1] Dr.C K Gomathy, Article: A Study on the recent Advancements in Online Surveying ,
[3] Dr.C K Gomathy, Article: A Study on the Effect of Digital Literacy and information
52
ISSN (Online) 2581-9429
IJARSCT
International Journal of Advanced Research in Science, Communication and Technology (IJARSCT)
International Open-Access, Double-Blind, Peer-Reviewed, Refereed, Multidisciplinary Online Journal
Impact Factor: 7.53 Volume 4, Issue 2, May 2024
Abstract: Owners of vehicles can avoid unforeseen car problems by maintaining their vehicles regularly.
Early detection of vehicle concerns is crucial to preventing them from developing into serious difficulties.
Owners of vehicles frequently inquire about service at auto shops. Vehicle technicians examine crucial
parts of the vehicle and fix problems to make sure they are in good condition and won't break down
suddenly. The study was carried out by the researchers to evaluate the everyday activities and transactions
carried out in auto repair facilities. The researchers gathered preliminary data and discovered that the
majority of auto repair companies or garages still handle their daily transactions manually. Customer
records are still entered manually, as are transactions with clients, tracking of vehicle repairs as they are
made, updates on vehicle services, and billing. The functioning of the garage and the response time to client
inquiries will be slowed by the ongoing usage of manual procedures. The researchers have identified a need
to modernize how auto repair shops work. Customers and car garages will both profit from the system's
installation. Utilizing the technology to run the company will help car garages expand and improve
operational efficiency. Customers may do business for car service easily and comfortably
Keywords: vehicles
I. INTRODUCTION
Vehicles now play a significant role in daily life seen. The vast majority of individuals commute daily using the
automobile. Regular maintenance helps ensure that the car runs smoothly and that fuel is used effectively. Another
issue is that when automobiles are taken in for servicing or maintenance, it is presumed that repairs would be made
carefully, but it has been noted that multiple vehicle accidents occur each year as a result of the neglect of repair
facilities and car dealers.
When the vehicle is handed over for repair, the problem of confidence is crucial. Customers are frequently taken
advantage of under the name of service. A serious issue is the replacement of original parts with outdated ones.
Additionally, it might be challenging for clients to confirm that the service providers are doing the tasks for which they
are paying. Service providers take advantage of this circumstance and overcharge customers. The practice of "periodic
vehicle maintenance," which mandates that the vehicle have periodic servicing and maintenance, is widely used.
A vehicle's service life is typically determined by either a predetermined time frame or the mileage travelled. Generally
speaking, it is advised to get the car serviced every six months or 10,000 km. However, the problem with "periodic
vehicle maintenance" is that it's difficult to determine which parts need to be repaired or replaced, which might lead to
repairs or replacements of parts that are still in good shape. Predictive vehicle maintenance proves useful in this
situation. This data is obtained from numerous built-in or customized sensors in the car that are used to keep track of
the condition of various components. To analyze and make decisions, this data is relayed via the internet, and the
chance of failure in the future is then predicted. When a consumer uses this approach to choose when to service their
automobile and which part to fix, it saves them a lot of time and money since it gives them transparency. A certain
system could occasionally require maintenance or repair before the next scheduled due date. The solution effectively
manages this problem since the user instantly receives a warning on their mobile application. This prevents the buyer
from having to pay more money for the additional damage the
automobile would have sustained if the defective item had been driven. Given that the service center, already has
cameras installed, our solution makes advantage of such infrastructure.
III. MOTIVATION
Since the initial booking and charge estimation are handled directly by the website, less time is needed to visit the store
and complete these tasks. the client may access it without downloading any apps to their phone. The user doesn't need a
laptop to open the website because it is also mobile-accessible.
mobile
IV.
I SYSTEM ARCHITECTURE
The building of the Vehicle Service Management System in Django is suggested in this essay. The solution will
streamline the administrative
tive tasks related to handling business transactions in a car garage. The following transactions
are included in the list: recording customer records, tracking the status of car repairs, updating vehicle service
orders, managing vehicle service ce schedules, maintaining maintenance logs, dealing with customers, and billing. The
suggested idea would do away with manual processes and transactions in auto repair facilities. The system will
operate as a hub for transactions that can be accessed by clients and technicians working on vehicles, as well as
monitored by an administrator. The suggested strategy would boost operational effectiveness and overall client
happiness when it comes to receiving car service. 1Time-consuming:
1Time Since the initial booking and charge estimation
are handled directly by the website, less time is needed to visit the store and complete these tasks.Regular
tasks.Regular maintenance
is essential for keeping vehicles in optimal condition and preventing unexpected breakdowns. With a maintenance
system in place, timely servicing and inspections can be scheduled, ensuring that vehicles are well well-maintained and
reliable.
V. PROPOSED SYSTEM
The proposed Vehicle Maintenance System (VMS) addresses these shortcomings by introducing a comprehensive,
automated solution that streamlines the entire maintenance process:
VMS automates job scheduling, parts inventory management, and service tracking, leading to increased efficiency and
reduced turnaround times for maintenance tasks.
The system provides secure, web-based access to stakeholders, enabling them to retrieve and update information from
anywhere at any time.
Improved Transparency: VMS offers real-time visibility into job statuses, service histories, and billing details, fostering
transparency and trust between service providers and customers. By automating repetitive tasks and centralizing data
management, VMS reduces administrative workload, allowing staff to focus on delivering high-quality services. The
user-friendly interface, timely communication, and transparent processes of VMS contribute to higher customer
satisfaction by ensuring prompt service delivery, clear billing, and consistent service quality.
Overall, the proposed VMS represents a significant advancement over the existing manual system, offering numerous
advantages in terms of efficiency, accessibility, transparency, administrative overhead, and customer satisfaction.
2. Customers Module
Dashboard Enquiry: Here, the user may complete the form and see whether or not his inquiry has received a response
(which is done by the admin). Service Request: In this part, the user may complete the service form, check the progress
of the service, see how much is being charged for the service, and print an amount slip (which is done by the admin).
Users may also change their passwords, retrieve their passwords, and update their profiles.
3.Mechanics Module
The mechanic may examine the tasks the admin has assigned him in this section. He can also look up the attendance
record. The vehicle's state is updated by the mechanic module, including whether or not it has been fixed.
VIII. RESULTS
IX. CONCLUSION
Vehicles need to be serviced to ensure that they are in good shape and function well.
The result of the study showed that the developed system met the needs and requirements of the respondents and
intended users.
Copyright to IJARSCT DOI: 10.48175/
10.48175/IJARSCT-18194 628
www.ijarsct.co.in
ISSN (Online) 2581-9429
IJARSCT
International Journal of Advanced Research in Science, Communication and Technology (IJARSCT)
International Open-Access, Double-Blind, Peer-Reviewed, Refereed, Multidisciplinary Online Journal
Impact Factor: 7.53 Volume 4, Issue 2, May 2024
The result showed that the respondents rated the system satisfactorily in terms of user acceptability, effectiveness,
quality, productivity, and reliability.
The system will both benefit vehicle garages and customers. For vehicle garages, utilizing the system to operate the
business will help them grow and increase business efficiency. For customers, can easily and conveniently make
transactions for vehicle servicing.
By optimizing operations and enhancing customer satisfaction, the vehicle maintenance system contributes to the long-
term sustainability of both vehicle garages and the automotive industry as a whole. Sustainable practices not only
benefit the environment but also foster stability and resilience in the face of economic fluctuations and market changes.
This system has a positive impact on the local community by creating employment opportunities, supporting small
businesses, and promoting economic growth. As vehicle garages thrive, they contribute to the overall prosperity and
well-being of the communities they serve, fostering a cycle of mutual benefit and support.
REFERENCES
[1] Dr.C K Gomathy, Article: A Study on the recent Advancements in Online Surveying , International Journal of
Emerging technologies and Innovative Research ( JETIR ) Volume 5 | Issue 11 | ISSN : 2349-5162, P.No:327-331,
Nov-2018.
[2] Dr.C.K.Gomathy,C K Hemalatha, Article: A Study On Employee Safety And Health Management International
Research Journal Of Engineering And Technology (Irjet)- Volume: 08 Issue: 04 | Apr 2021.
[3] Dr.C K Gomathy, Article: A Study on the Effect of Digital Literacy and information Management, IAETSD
Journal for Advanced Research In Applied Sciences, Volume 7 Issue 3, P.No-51-57, ISSN NO: 2279-543X, Mar/2018.
[4] Dr.C K Gomathy, Article: An Effective Innovation Technology In Enhancing Teaching And Learning Of
Knowledge Using Ict Methods, International Journal Of Contemporary Research In Computer Science And Technology
(Ijcrcst) E-Issn: 2395-5325 Volume3, Issue 4,P.No-10-13, April ’2017.
[5] Dr.C K Gomathy, Article: Supply chain-Impact of importance and Technology in Software Release Management,
International Journal of Scientific Research in Computer Science Engineering and Information Technology
(IJSRCSEIT ) Volume 3 | Issue 6 | ISSN : 2456-3307, P.No:1-4, July-2018.