0% found this document useful (0 votes)
28 views60 pages

Automobile Repairing System

The document certifies the project work titled 'AUTOMOBILE SHOP' by Miten Chandel for the Post Graduate Diploma in Computer Application at Hemchand Yadav Vishwavidyalaya for the academic year 2024-2025. It outlines the project's objectives to automate automobile repair processes, improve efficiency, and manage customer and vehicle information using Python and MySQL. The document includes acknowledgments, project synopsis, methodology, system analysis, and design, emphasizing the transition from a manual to a computerized system for better resource management.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views60 pages

Automobile Repairing System

The document certifies the project work titled 'AUTOMOBILE SHOP' by Miten Chandel for the Post Graduate Diploma in Computer Application at Hemchand Yadav Vishwavidyalaya for the academic year 2024-2025. It outlines the project's objectives to automate automobile repair processes, improve efficiency, and manage customer and vehicle information using Python and MySQL. The document includes acknowledgments, project synopsis, methodology, system analysis, and design, emphasizing the transition from a manual to a computerized system for better resource management.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

CERTIFICATE OF APPROVAL

This is to certify that the Project work entitled “AUTOMOBILE SHOP” is carried out
by (MITEN CHANDEL ). A student of PGDCA at ( B . M C O L L A G E ) is
hereby approved as a credible work in the discipline of Computer Science and
Information Technology for the award of degree of Post Graduate Diploma in Computer
Application during the year 2024-2025 from Hemchand Yadav Vishwavidyalaya,
Durg(C.G.).

Head of Department:

(MR.RAVIKANT)
CERTIFICATE

This is to certify that the Project work entitled “AUTOMOBILE SHOP” submitted to
the B.M COLLAGE by M I T E N C H A N D E L Roll No 2 5 3 6 4 7 1 0 2 0 , in partial
fulfillment for the requirements relating to nature and standard of award of Post
Graduate Diploma in Computer Application degree by, Hemchand Yadav
Vishwavidyalaya, Durg (C.G.) for the academic year 2024-2025.
This project work has been carried out under my guidance.

Guide Name

(MR.RAVIKANT)
CERTIFICATE OF EVALUATION

This is to certify that the Project work entitled " AUTOM O B I L E S H O P " is
carried out by MITEN CHANDEL, a student of P G D C A at B.M COLLAGE after proper
evaluation and examination, is hereby approved as a credible work in the discipline
of Computer Science and Information Technology and is done in a satisfactory
manner for its acceptance as a requisite for the award of degree of Post Graduate
Diploma in Computer Application during the year 2024- 2025 from Hemchand
Yadav Vishwavidyalaya, Durg ( C.G.).

Internal Examiner External Examiner


Date: Date:
DECLARATION

This is to certify that the Project work entitled “AUTOMOBILE SHOP” which is
submitted by me in partial fulfillment for the award of degree of Post Graduate
Diploma in Computer Application at (B.M COLLAGE), comprises the original work
carried out by me.
I further declare that the work reported in this project has not been submitted
and will not be submitted, either in part or in full for the award of any other degree
or diploma in this Institute or any other Institute or University.

Place: KOLIHAPURI , PULGAON DURG (CG)


Name: MITEN CHANDEL
Roll no: 2536471020
Date:
Acknowledgement

I would like to express my special thanks of gratitude to my Guide/Teacher


MR.RAVIKANT who gave me the golden opportunity to build this wonderful
software/application named "AUTOMOBILE SHOP", which also helped me in doing
a lot of research and I came to know about so many new things. I am really thankful
to him

I would also like to thanks to the faculty member who provided me the
resources such as Internet connection, Computer System, Working environment
etc.

I would also like to thanks to the organizations which is not the part of the
college but it helped me a lot to complete this project. Even the project was not being
possible to build without their help.
Project Synopsis

Name of Project:- AUTOMOBILE SHOP

Objectives:-
The objective of this project is to simplify and automate the process of
Automobile repairing shop, including customer and vehicle information, inventory, and
employee management. This includes automating processes to enhance productivity, reduce
errors, and improve customer satisfaction. Ultimately, the goal is to create a user-friendly and
scalable system that allows service centers to operate more efficiently and grow.

Scope:-

An automobile repairing system project can encompass various scopes, ranging from simple
inventory management to comprehensive workshop management and scheduling. The project
could involve developing a software system to manage vehicle details, customer records, invoices
or bill details and report for vehicle, customer and bill.

Technology Used:
1. Python
1.1. Tkinter
2. Database
2.1 MySQL
Abstract

The purpose of Automobile Repairing System is to automate the existing manual system by
the help of computerized equipment’s and full-fledged computer software, fulfilling their
requirements, so that their valuable data/information can be stored for a longer period with easy
accessing and manipulation of the same. The required software and hardware are easily available
and easy to work with.

Automobile Repairing System, as described above, can lead to error free, secure, reliable,
and fast management system. It can assist the user to concentrate on their other activities rather to
concentrate on the record keeping. Thus, it will help organization in better utilization of resources.
The organization can maintain computerized records without redundant entries. That means that
one need not be distracted by information that is not relevant, while being able to reach the
information.

The aim is to automate its existing manual system by the help of computerized equipment’s
and full-fledged computer software, fulfilling their requirements, so that their valuable
data/information can be stored for a longer period with easy accessing and manipulation of the
same. Basically, the project describes how to manage for good performance and better services for
the clients.
MAIN REPORT

1. Objective & Scope of the Project


2. Theoretical Background
3. Definition Of Problem
4. System Analysis and Design
5. Methodology Adopted
6. Hardware & Software Environment
7. ERD
8. DFD
9. Input And Output Screening
10.System maintenance & Evaluation
11.Process involved
12.Testing
13.About Programming Language, Python, Tkinter
14.About Database MySQL
15.Source Code & Output
16.Conclusion
17.References
Objective & Scope of the Project

Objective:-

The objective of this project is to simplify and automate the process of Automobile
repairing shop, including customer and vehicle information, inventory, and employee
management. This includes automating processes to enhance productivity, reduce errors, and
improve customer satisfaction. Ultimately, the goal is to create a user-friendly and scalable system
that allows service centers to operate more efficiently and grow.

Scope:-

An automobile repairing system project can encompass various scopes, ranging from simple
inventory management to comprehensive workshop management and scheduling. The project
could involve developing a software system to manage vehicle details, customer records, invoices
or bill details, and report for vehicle, customer and bill.
Main Pages and functions in the system

The main objective of the Project on Automobile Repairing System is to manage the details of
Vehicle, Customer, Maintenance, Bill and their reports. It manages all the information about
Vehicle, Vehicle Type, Company, Customer. The project is totally built at administrative end and
thus only the administrator is guaranteed the access. The purpose of the project is to build an
application program to reduce the manual work for managing the Vehicle, Customer,
Maintenance, Bill and their reports. It tracks all the details about the Vehicle, Customer and Bill.

Functionalities provided by Automobile Repairing System are as follows:

 Provides the searching facilities based on various factors. Such as Vehicle, Customer, Service.

 Automobile Repairing System also manage the Vehicle details for Repairing, Customer
details, problems.

 It tracks all the information of Customer, Vehicle, Service etc

 Manage the information of Customer.

 Shows the information and description of the Vehicle.

 To increase efficiency of managing the Vehicle, Customer Details.

 It deals with monitoring the information and transactions of Maintenance.

 Manage the information of Servicing.

 Editing, Adding and Updating of Records is improved which results in proper resource
management of Automobile.

 Manage the information of Maintenance


Theoretical Background

The old manual system was suffering from a series of drawbacks. Since whole of the system
was to be maintained with hands the process of keeping, maintaining and retrieving the
information was very tedious and lengthy. The records were never used to be in a systematic order.
there used to be lots of difficulties in associating any particular transaction with a particular
context. If any information was to be found it was required to go through the different registers,
documents there would never exist anything like report generation. There would always be
unnecessary consumption of time while entering records and retrieving records. One more problem
was that it was very difficult to find errors while entering the records. Once the records were
entered it was very difficult to update these records.

The reason behind it is that there is lot of information to be maintained and must be kept in mind
while running the business. For this reason, we have provided features Present system is partially
automated (computerized), actual existing system is quite laborious as one has to enter same
information at three different places.

With the implementation of computerized system, the task of keeping records in an organized
manner will be solved. The greatest of all is the retrieval of information, which will be at the
click of the mouse. So, the proposed system helps in saving the time in different operations and
making information flow easy giving valuable reports.
Definition Of Problem

During evening time or on some occasion when the customer number’s is very
high and every one wants to get vehicle as soon as possible. But due to less
number of worker they have to wait for a long time. And sometimes the vehicle
get exchange of customers. All this have to suffer by the customer which had a great
impact on shop's finance growth.

Also the worker have to frequently ask in the shop for the availability of the time. If it
is time available then it's perfect but if it is not available then the customer
gets disappointment.

To overcome this problem i have made this application which will eradicate all this
problem by servicing the vehicle of the customer's, after which customer can easily
get their vehicle.

The employee can check the application from the different pages so that he came
to know about the vehicle or servicing details.
System Analysis And Design

Database design involves the production of a model of the data to be stored


in the database. A data model is a diagram of the database design that
documents and communicates how the database is structured.

Following figures show the overview of the system and user interfaces that are
created using Python, Tkinter and MySQL for database. system.

Modeling During the system requirements and design activity, systems may be
modeled as a set of components and relationships between these
components. These are normally illustrated graphically in a system architecture
model that gives the reader an overview of the system organization. System
modeling helps to give more detailed system specifications which are in
form of graphical representations that can describe problem to be solved
or the system that is to be developed.

Because of the graphical representations used, models are often more


understandable than detailed natural language description of the system
requirements. Examples of such modeling tool are a Use Case Diagram and ERD
Diagram Etc.
Methodology Adopted

The System Requirements Specification (SRS), the requirements specification


for a software system, is a complete description of the functionality of the
system to be implemented and may include a collection of use cases describing
the experiences that users will have with the software based on the above
contexts this research project , a application that offers several services. The
system keeps the records of all the customers and list of servicing. The
advantage of application is to deliver the vehicle servicing details to the
customer fast. This application provides simple and quicker necessary options
to save and retrieve information regarding vehicle, customer and servicing in
shop.

The language selected for the development is Python, Tkinter, MySQL for
creating an attractive Application system. Tkinter helps to design
interactive components within application system. The following diagram
illustrates the main components of the project. And also Custom Tkinter is used to
describe the presentation of pages including colors, layout and fonts. The
language selected for the development is MySQL, Python for creating an attractive
pages in system. Tkinter helps to design interactive components within this system.
The following diagram illustrates the main components of the project. is used to
describe the presentation of pages including colors, layout and fonts. MySQL is
used as the database management system.
Selected Software Development Life Cycle and system architecture is V model
and service oriented architecture. The study of alternative methods with the
relevant diagrams associated and the proper justification of the selected one is
as bellow.

Problem
identification

System
design

implement

Testing And
Maintenance
Hardware & Software Environment

Software Requirements:

Operating System Windows XP or Higher


Language Python
Database MySQL

Hardware Requirements:
Processor Pentium IV or Higher
RAM 512MB
Hard Disk 120GB
Monitor 15” color monitor
Keyboard 106 keys keyboard
ERD
DFD

Level 0:

Automobile
Customer Service Mechanic

Level 1:

View Database
Service

Request
Customer Service

Mechanic

Work
Done
Input And Output Screening

I) Input screen design:


 The quality of system input determines the quality of system output.
 Input is the raw data that is processed to produce output.
 The software project have the following properties for input :- It should serve
specific purpose effectively such as storing recording, and retrieving the
information.
 It ensures proper completion with accuracy. It should be easy to fill and
straightforward.
 It should focus on user's attention, consistency, and simplicity.

i)Objectives for Input Design:


 To design data entry and input procedures. To reduce input volume.
 To design source documents for data capture or devise other data capture
methods.
 To design input data records, data entry screens, UI screens, etc. To use
validation checks and develop effective input controls.

The software prevents the user from:


 Clear form design by leaving enough space for writing legibly
 Clear instructions to fill form. Clear form design.
 Reducing key strokes.
II) Output Screen Design:

The design of output is the most important task of any system. During output design,
developers identify the type of outputs needed, and consider the necessary output
controls and prototype report layouts.

>> External Outputs:


Manufacturers create and design external outputs for printers. But the software
currently do not entertain any external output.

>> Internal outputs:


Internal outputs are present inside the system, and used by end- users and
managers. They support the management in decision making and reporting.
System maintenance & Evaluation

System analysis is a process of gathering and interpreting facts, diagnosing


problems and the information about the Billing System to recommend
improvements on the system. It is a problem solving activity that requires
intensive communication between the system users and system developers.
System analysis or study is an important phase of any system
development process. The system is studied to the minutest detail and
analyzed. The system analyst plays the role of the interrogator and dwells
deep into the working of the present system. The system is viewed as a
whole and the input to the system are identified. The outputs from the
organizations are traced to the various processes. System analysis is
concerned with becoming aware of the problem, identifying the relevant and
decisional variables, analyzing and synthesizing the various factors and
determining an optimal or at least a satisfactory solution or program of
action. A detailed study of the process must be made by various
techniques like interviews, questionnaires etc. The data collected by these
sources must be scrutinized to arrive to a conclusion. The conclusion is
an understanding of how the system functions. This system is called the
existing system. Now the existing system is subjected to close study and
problem areas are identified. The designer now functions as a problem solver
and tries to sort out the difficulties that the enterprise faces.
The strategies to be followed for effective system study and analysis can be
taken.
a) Corrective maintenance :
This project is unable to recognize some commands.

b) Adaptive maintenance:
Currently the software is designed for only windows operating system means it
is not adaptive. Users may require it to work on different operating systems such as
MAC OS, Linux, Unix etc. The required software can be produced to fulfill the
requirements of the user by using the python module 'Tkinter'.

c) Perfective maintenance :
The software for now uses a Command line user interface that may bore
the user using it. The option for Themes can be added the near future
with support of more modules. We can enhance the speed of speech
recognition but in future the feature can be added.

d) Preventive maintenance:
The software may be updated to support the operating systems like Mac OS, Linux,
Unix etc
Process involved

i) General Analysis and Requirements Gathering:

In software development, requirements for the products to be designed are


sourced in this step. For this project, this step happens to be the primary focus.
Questions such as "Who gets to use the product? Utilization of the product, what kind
of data goes into the product? And what kind of data is returned by the product as
output?" are all answered in this step.

After completion of the requirements analysis, the development team can then
proceed to the next level of making out a product design to be followed throughout
the development process.

ii) Product Design:


During this step, the creation of the product design from the requirements
documentation ensues. Product design assists in the specification of the
necessary hardware required to run the product, in other words, the deployment. It
also helps in clearly marking out the general product architecture, depicting the
software modules required to be developed and their relationships. It is
also time to make a choice of development platform, e.g. .NET, Java, Laravel,
Ruby on Rails or FileMaker. This choice depends on the requirements themselves.
For this case, python is chosen.

iii) Coding:
After the phase of product design, the development team moves on to the stage of
coding and implementation. Some companies prefer to outsource the coding
activities, and many times also the previous step of Product Design, to a third-
party software development company.
iv) Testing:
After the step of coding and implementation, the programmer can then proceed
to integration and validation testing. This phase potential bugs in the
product, and if any, these are corrected. The software programmer should
perform unit or module testing. The next stage of testing would be Integration
testing. Here the interaction between the individual modules and/or external
systems are tested. After integration testing Validation testing will be
performed, testing the end software product based on the requirements and
UI/UX design, from an end- user point of view.

v) Deployment of product :
Once the software product passes the testing phase, deployment of the
product can ensue. Once the product is ready, the first batch is out and to the
public. That is known as Beta testing. If any changes are required due to
customer feedback, or any bugs not seen during the testing phase arises, they can
be corrected and implemented during this phase of software development.
Deployment normally involves setting up a so called 'Production' server on which
the software will run. Such a server can be one of the company's own servers or it
can be in the 'cloud' by using for example opened Amazon Web Services or
Microsoft Azure.

vi) Product Maintenance and Operations:


Once all above steps have been successfully passed, and the software product
is fully released into the market, the product must be kept operational and
maintenance of the product is required. This involves fixing issues, keeping the
systems up to date with the latest operating system patches or updates of
used third-party software.
Methodology used for testing:

Methodology:
The main methodology used in testing the software is Manual Testing.

Manual Testing:
Manual testing is a software testing process in which test cases are executed
manually without using any automated tool. All test cases executed by the tester
manually according to the end user's perspective. It ensures whether the
application is working, as mentioned in the requirement document or not. Test
cases are planned and implemented to complete almost 100 percent of the
software application. Test case reports are also generated manually.

There are various methods used for manual testing. The methods chosen
for testing are:-
1. White Box Testing
2. Black Box Testing

1.White Box Testing:


The white box testing is done by Developer, where they check every line of a code
before giving it to the Test Engineer. Since the code is visible for the Developer
during the testing, that's why it is also known as White box testing.

The white box testing contains various tests, which are as follows:-
1. Path testing
2. Loop testing
3. Condition testing
4. Testing based on the memory perspective
5. Test performance of the program

2. Black Box Testing:


The black box testing is done by the Test Engineer, where they can check the
functionality of an application or the software according to the
customer/client's needs. In this, the code is not visible while performing the
testing; that's why it is known as black-box testing.
Generic steps of black box testing:-

Step 1: The black box test is based on the specification of requirements, so it


is examined in the beginning.

Step 2: In the second step, the tester creates a positive test scenario and an
adverse test scenario by selecting valid and invalid input values to check that
the software is processing them correctly or incorrectly.

Step 3: In the third step, the tester develops various test cases such as decision
table, all pairs test, equivalent division, error estimation, cause- effect graph, etc.

Step 4: The fourth phase includes the execution of all test cases.

Step 5: In the fifth step, the tester compares the expected output against the
actual output.

Step 6: In the sixth and final step, if there is any flaw in the software, then it
is cured and tested again.
Black box Testing involves two types of testing :-

a) Functional testing:
Functional testing involves testing the application against the business
requirements. It incorporates all test types designed to guarantee each part of a
piece of software behaves as expected by using uses cases provided by the design
team or business analyst.

Functional testing methods are usually conducted in order and include:-

1. Unit testing
2. Integration testing
3. System testing
4. Acceptance testing

b) Non-functional testing:
Non-functional testing methods incorporate all test types focused on the
operational aspects of a piece of software.

Non-Functional testing methods are usually conducted in order and include:-


1. Performance testing
2. Security testing
3. Usability testing
4. Compatibility testing
About Programming Language

A programming language is a computer language programmers use to develop


software programs, scripts, or other sets of instructions for computers to
execute. Although many languages share similarities, each has its own syntax. Once
a programmer learns the languages rules, syntax, and structure, they write the
source code in a text editor or IDE. Then, the programmer often compiles the code
into machine language that can be understood by the computer. Scripting
languages, which do not require a compiler, use an interpreter to execute the
script.

Python:
Python is an interpreted, object-oriented, high-level programming language with
dynamic semantics. Its high-level built in data structures, combined with
dynamic typing and dynamic binding, make it very attractive for Rapid Application
Development, as well as for use as a scripting or glue language to connect
existing components together. Python's simple, easy to learn syntax emphasizes
readability and therefore reduces the cost of program maintenance. Python
supports modules and packages, which encourages program modularity and
code reuse. The Python interpreter and the extensive standard library
are available in source or binary form without charge for all major platforms,
and can be freely distributed. Often, programmers fall in love with Python
because of the increased productivity it provides. Since there is no compilation
step, the edit-test- debug cycle is incredibly fast. Debugging Python programs is
easy: a bug or bad input will never cause a segmentation fault. Instead, when the
interpreter discovers an error, it raises an exception. When the program
doesn't catch the exception, the interpreter prints a stack trace.
A source level debugger allows inspection of local and global variables,
evaluation of arbitrary expressions, setting breakpoints, stepping through the code
a line at a time, and so on. The debugger is written in Python itself, testifying
to Python's introspective power. On the other hand, often the quickest way to
debug a program is to add a few print statements to the source: the fast edit-
test-debug cycle makes this simple approach very effective.
Tkinter:
The tkinter package (“Tk interface”) is the standard Python interface to the
TCL/Tk GUI toolkit. Both Tk and tkinter are available on most Unix platforms,
including macOS, as well as on Windows systems. Running python -m tkinter
from the command line should open a window demonstrating a simple Tk interface,
letting you know that tkinter is properly installed on your system, and also
showing what version of TCL/Tk is installed, so you can read the TCL/Tk
documentation specific to that version. Tkinter supports a range of TCL/Tk versions,
built either with or without thread support. The official Python binary release
bundles TCL/Tk 8.6 threaded. See the source code for the _tkinter module for
more information about supported versions. Tkinter is not a thin wrapper, but adds a
fair amount of its own logic to make the experience more pythonic. This
documentation will concentrate on these additions and changes, and refer
to the official TCL/Tk documentation for details that are unchanged. The tkinter
package (“Tk interface”) is the standard Python interface to the TCL/Tk GUI toolkit.
Both Tk and tkinter are available on most Unix platforms, including macOS, as well
as on Windows systems.

Running python -m tkinter from the command line should open a window
demonstrating a simple Tk interface, letting you know that tkinter is properly
installed on your system, and also showing what version of Tcl/Tk is installed, so
you can read the Tcl/Tk documentation specific to that version.

Tkinter supports a range of Tcl/Tk versions, built either with or without thread
support. The official Python binary release bundles Tcl/Tk 8.6 threaded. See the
source code for the _tkinter module for more information about supported
versions. Tkinter is not a thin wrapper, but adds a fair amount of its own logic to
make the experience more pythonic. This documentation will concentrate on
these additions and changes, and refer to the official Tcl/Tk documentation for
details that are unchanged. Note Tcl/Tk 8.5 (2007) introduced a modern set
of themed user interface components along with a new API to use them. Both old
and new APIs are still available. Most documentation you will find online still uses
the old API and can be woefully outdated. See also TkDocs Extensive tutorial on
creating user interfaces with Tkinter. Explains key concepts, and illustrates
recommended approaches using the modern API. Tkinter 8.5 reference: a GUI for
Python Reference documentation for Tkinter 8.5 detailing available classes,
methods, and options. Tcl/Tk Resources: Tk commands Comprehensive reference
to each of the underlying Tcl/Tk commands used by Tkinter. Tcl/Tk Home
Page Additional documentation, and links to Tcl/Tk core development. Books:
Modern Tkinter for Busy Python Developers
By Mark Roseman. (ISBN 978-1999149567) Python and Tkinter Programming
Architecture
Tcl/Tk is not a single library but rather consists of a few distinct modules, each
with separate functionality and its own official documentation. Python’s binary
releases also ship an add-on module together with it.

Tcl:
Tcl is a dynamic interpreted programming language, just like Python. Though it
can be used on its own as a general-purpose programming language, it is most
commonly embedded into C applications as a scripting engine or an interface
to the Tk toolkit. The Tcl library has a C interface to create and manage one or
more instances of a Tcl interpreter, run Tcl commands and scripts in those
instances, and add custom commands implemented in either Tcl or C. Each
interpreter has an event queue, and there are facilities to send events to it and
process them. Unlike Python, Tcl’s execution model is designed around
cooperative multitasking, and Tkinter bridges this difference (see Threading
model for details).

Tk :
Tk is a Tcl package implemented in C that adds custom commands to
create and manipulate GUI widgets. Each Tk object embeds its own Tcl
interpreter instance with Tk loaded into it. Tk’s widgets are very customizable,
though at the cost of a dated appearance. Tk uses Tcl’s event queue to generate
and process GUI event.

Ttk:
Themed Tk (Ttk) is a newer family of Tk widgets that provide a much better
appearance on different platforms than many of the classic Tk widgets. Ttk is
distributed as part of Tk, starting with Tk version 8.5. Python bindings are
provided in a separate module tkinter.ttk.
About Database MySQL

MySQL is an open-source relational database management system (RDBMS). Its name is a


combination of "My", the name of co-founder Michael Widenius's daughter My and "SQL",
the acronym for Structured Query Language. A relational database organizes data into one or
more data tables in which data may be related to each other; these relations help structure the
data. SQL is a language that programmers use to create, modify and extract data from the
relational database, as well as control user access to the database. In addition to relational
databases and SQL, an RDBMS like MySQL works with an operating system to implement a
relational database in a computer's storage system, manages users, allows for network access
and facilitates testing database integrity and creation of backups.

Most MySQL is free and open-source software under the terms of the GNU General
Public License, and is also available under a variety of proprietary licenses. MySQL
was owned and sponsored by the Swedish company MySQL AB, which was bought
by Sun Microsystems (now Oracle Corporation) In 2010, when Oracle acquired
Sun, Widenius forked the open-source MySQL project to create MariaDB.

MySQL has stand-alone clients that allow users to interact directly with a MySQL database
using SQL, but more often, MySQL is used with other programs to implement applications that
need relational database capability. MySQL is a component of the LAMP web
application software stack (and others), which is an acronym for Linux, Apache,
MySQL, Perl/PHP/Python. MySQL is used by many database-driven web applications,
including Drupal, Joomla, phpBB, and WordPress. MySQL is also used by many
popular websites, including
Facebook, Flickr, MediaWiki, Twitter, and YouTube.
Source Code & Output

from tkinter import*


import tkinter.messagebox
import os

root =Tk()
root.geometry('680x360')
root.title("AUTOMOBILE REPAIRING SYSTEM")
root.configure(background='white')

canv =Canvas(root, width=700,height=600,bg='white')


canv.grid (row=1,column=1)

img = ImageTk.PhotoImage(Image.open("A_Login.png"))
canv.create_image(40,70, anchor=NW,image=img)

def submit_code():
t1=entry_1.get()
t2=entry_2.get()

mycursor=mydb.cursor()
mycursor.execute ("select * from login_tb where loginid='"+t1+"' and pwd =
'"+t2+"' ")
records=mycursor.fetchall()
a=0
for row in records:
a=1

if(a==1):
tkinter.messagebox.showinfo("Message","Login Successfully")
root.destroy();
os.system('python A_Dashboard.py')
else:
tkinter.messagebox.showinfo("Message","Invaild LoginID or Password")

def back():
root.destroy();

label_0=Label(root,text="Login form",width=40,font=("bold",20),bg='white')
label_0.place(x=50,y=32)

label_1=Label(root,text="Login ID",width=20,font=("bold",10),bg='white')
label_1.place(x=300,y=125)
entry_1 = Entry(root)
entry_1.place(x=420,y=125)

label_2=Label(root,text="Password",width=20,font=("bold",10),bg='white')
label_2.place(x=300,y=155)
entry_2=Entry(root,show="*")
entry_2.place(x=420,y=155)

btn_login=Button(root,text='Login',width=10,bg='brown',fg='white',command=submi
t_code)
btn_login.place(x=370,y=200 )

btn_reg=Button(root,text='Exit',width=10,bg='brown',fg='white',command=back)
btn_reg.place(x=490,y=200)

root.mainloop()

from tkinter import *


import tkinter.messagebox
import os

def btn_mechanic_code():
root.destroy();
os.system('python A_Mechanic.py')

def btn_service_code():
root.destroy();
os.system('python A_Service.py')

def btn_workentry_code():
root.destroy();
os.system('python A_Workentry.py')

def btn_workdone_code():
root.destroy();
os.system('python A_Workdone.py')

def btn_report_code():
root.destroy();
os.system('python A_Report.py')

def btn_logout_code():
root.destroy();
os.system('python A_Login.py')

def create_frame():

welcome_fm=Frame(root,width=600,height=436,bg='white',highlightbackground=bg
_color,highlightthickness=3)

headline_lb=Label(welcome_fm,text='AUTOMOBILE REPAIRING SYSTEM


DASHBOARD',font='bold 15',bg=bg_color,fg=fg_color)
headline_lb.place(x=0,y=0,width=600)
btn_account=Button(welcome_fm,text=' MECHANIC',width=18,font='bold
13',bg=bg_color,fg=fg_color,command=btn_mechanic_code)
btn_account.place(x=350,y=66)
btn_transaction=Button(welcome_fm,text=' SERVICES',width=18,font='bold
13',bg=bg_color,fg=fg_color,command=btn_service_code)
btn_transaction.place(x=350,y=126)
btn_report=Button(welcome_fm,text=' WORK-ENTRY',width=18,font='bold
13',bg=bg_color,fg=fg_color,command=btn_workentry_code)
btn_report.place(x=350,y=186)
btn_logout=Button(welcome_fm,text=' WORK-DONE',width=18,font='bold
13',bg=bg_color,fg=fg_color,command=btn_workdone_code)
btn_logout.place(x=350,y=246)
btn_logout=Button(welcome_fm,text=' REPORT',width=18,font='bold
13',bg=bg_color,fg=fg_color,command=btn_report_code)
btn_logout.place(x=350,y=306)
btn_logout=Button(welcome_fm,text=' LOGOUT',width=18,font='bold
13',bg=bg_color,fg=fg_color,command=btn_logout_code)
btn_logout.place(x=350,y=366)

welcome_fm.place(x=20,y=20)

bg_color='red'
fg_color='white'

root = Tk()
root.title('AUTOMOBILE REPAIRING SYSTEM')
root.geometry('640x480')
root.configure(background='white')
create_frame()

canv =Canvas(root, width=285,height=285,bg='white')


canv.place(x=60,y=120)
img = ImageTk.PhotoImage(Image.open("A_Dashboard.png"))
canv.create_image(20,20, anchor=NW,image=img)

root.mainloop()

from tkinter import *


import tkinter.messagebox
from tkinter import messagebox,ttk
import os
from datetime import datetime
import mysql.connector
from PIL import ImageTk, Image

def btn_back_code():
root.destroy();
os.system('python A_Dashboard.py')

def create_frame():

def btn_new_code():

mycursor=mydb.cursor()
mycursor.execute("select count(mech_id) from mechanic_tb")
records=mycursor.fetchall()
c=0
for row in records:
c=int(str(row[0]))

c=c+1201
entry_1.delete(0, END)
entry_1.insert(0,str(c))

def btn_insert_code():
t1=entry_1.get()
t2=entry_2.get()
t3=entry_3.get()
t4=entry_4.get()
t5=entry_5.get()
t6=entry_6.get()
t7=entry_7.get()
t8=entry_8.get()

mycursor=mydb.cursor()
mycursor.execute("insert into mechanic_tb
values('"+t1+"','"+t2+"','"+t3+"','"+t4+"','"+t5+"','"+t6+"','"+t7+"','"+t8+"')")
mydb.commit()
tkinter.messagebox.showinfo("Message","Mechanic Added Successfully")
clear_code()

def clear_code():
entry_1.delete(0, END)
entry_2.delete(0, END)
entry_3.delete(0, END)
entry_4.delete(0, END)
entry_5.delete(0, END)
entry_6.delete(0, END)
entry_7.delete(0, END)
entry_8.delete(0, END)

welcome_fm=Frame(root,width=900,height=440,bg='white',highlightbackground=bg
_color,highlightthickness=3)

headline_lb=Label(welcome_fm,text='MECHANIC FORM',font='bold
15',bg=bg_color,fg=fg_color)
headline_lb.place(x=0,y=0,width=900)
btn_account=Button(welcome_fm,text='NEW MECHANIC',width=22,font='bold
13',bg=bg_color,fg=fg_color,command=btn_new_code)
btn_account.place(x=100,y=140)
btn_account=Button(welcome_fm,text='SAVE MECHANIC',width=22,font='bold
13',bg=bg_color,fg=fg_color,command=btn_insert_code)
btn_account.place(x=100,y=200)
btn_account=Button(welcome_fm,text='BACK DASHBOARD',width=22,font='bold
13',bg=bg_color,fg=fg_color,command=btn_back_code)
btn_account.place(x=100,y=260)

#-----------------------Row 1--------------------------------------------------------
label_1=Label(welcome_fm,text="Mechanic
ID",width=20,anchor='w',font=("bold",12),bg='white').place(x=400,y=80)
entry_1=Entry(welcome_fm,highlightthickness=1,width=28)
entry_1.place(x=400,y=105)
entry_1.config(highlightbackground = "grey", highlightcolor= entry_border_color)

label_2=Label(welcome_fm,text="Mechanic
Name",width=20,anchor='w',font=("bold",12),bg='white').place(x=640,y=80)
entry_2=Entry(welcome_fm,highlightthickness=1,width=28)
entry_2.place(x=640,y=105)
entry_2.config(highlightbackground = "grey", highlightcolor= entry_border_color)
#-----------------------Row 2--------------------------------------------------------
label_3=Label(welcome_fm,text="Email
ID",width=20,anchor='w',font=("bold",12),bg='white').place(x=400,y=150)
entry_3=Entry(welcome_fm,highlightthickness=1,width=28)
entry_3.place(x=400,y=175)

label_4=Label(welcome_fm,text="Phone
No",width=20,anchor='w',font=("bold",12),bg='white').place(x=640,y=150)
entry_4=Entry(welcome_fm,highlightthickness=1,width=28)
entry_4.place(x=640,y=175)
entry_4.config(highlightbackground = "grey", highlightcolor= entry_border_color)
#-----------------------Row 3--------------------------------------------------------

label_5=Label(welcome_fm,text="Address",width=20,anchor='w',font=("bold",12),b
g='white').place(x=400,y=220)
entry_5=Entry(welcome_fm,highlightthickness=1,width=28)
entry_5.place(x=400,y=245)
entry_5.config(highlightbackground = "grey", highlightcolor= entry_border_color)

label_6=Label(welcome_fm,text="Experience",width=20,anchor='w',font=("bold",12)
,bg='white').place(x=640,y=220)
entry_6=Entry(welcome_fm,highlightthickness=1,width=28)
entry_6.place(x=640,y=245)
entry_6.config(highlightbackground = "grey", highlightcolor= entry_border_color)
#-----------------------Row 4--------------------------------------------------------

label_7=Label(welcome_fm,text="Salary",width=20,anchor='w',font=("bold",12),bg=
'white').place(x=400,y=290)
entry_7=Entry(welcome_fm,highlightthickness=1,width=28)
entry_7.place(x=400,y=315)
entry_7.config(highlightbackground = "grey", highlightcolor= entry_border_color)

label_8=Label(welcome_fm,text="About
Mechanic",width=20,anchor='w',font=("bold",12),bg='white').place(x=640,y=290)
entry_8=Entry(welcome_fm,highlightthickness=1,width=28)
entry_8.place(x=640,y=315)
entry_8.config(highlightbackground = "grey", highlightcolor= entry_border_color)

welcome_fm.place(x=20,y=20)

bg_color='red'
fg_color='white'
entry_border_color='red'

root = Tk()
root.title('AUTOMOBILE REPAIRING SYSTEM')
root.geometry('940x480')
root.configure(background='white')
create_frame()

root.mainloop()

from tkinter import *


import tkinter.messagebox
from tkinter import messagebox,ttk
import os
from datetime import datetime
def btn_back_code():
root.destroy();
os.system('python A_Dashboard.py')

def create_frame():

def get_mechenic_code():

mydb=mysql.connector.connect(host="localhost",user="root",passwd="",database="a
utomobilereparining_db")
mycursor=mydb.cursor()
mycursor.execute("select name from mechanic_tb")
records=mycursor.fetchall()
acc_no=['Select Mechanic']
for row in records:
acc_no.append(str(row[0]))
combo_11['values'] = acc_no

def btn_new_code():
mycursor=mydb.cursor()
mycursor.execute("select count(work_id) from worksheet_tb")
records=mycursor.fetchall()
c=0
for row in records:
c=int(str(row[0]))

c=c+1201
entry_1.delete(0, END)
entry_1.insert(0,str(c))
entry_2.delete(0, END)
dt=datetime.today().strftime('%d-%m-%Y')
entry_2.insert(0,str(dt))

def btn_insert_code():
t1=entry_1.get()
t2=entry_2.get()
t3=entry_3.get()
t4=entry_4.get()
t5=entry_5.get()
t6=entry_6.get()
t7=entry_7.get()
t8=entry_8.get()
t9=entry_9.get()
t10=entry_10.get()
t11=combo_11.get()

mycursor=mydb.cursor()
mycursor.execute("insert into worksheet_tb
values('"+t1+"','"+t2+"','"+t3+"','"+t4+"','"+t5+"','"+t6+"','"+t7+"','"+t8+"','"+t9+"','"+t
10+"','"+t11+"','','','Pending')")
mydb.commit()
tkinter.messagebox.showinfo("Message","Details Added Successfully")
clear_code()

def clear_code():
entry_1.delete(0, END)
entry_2.delete(0, END)
entry_3.delete(0, END)
entry_4.delete(0, END)
entry_5.delete(0, END)
entry_6.delete(0, END)
entry_7.delete(0, END)
entry_8.delete(0, END)
entry_9.delete(0, END)
entry_10.delete(0, END)
combo_11.current(0)

welcome_fm=Frame(root,width=900,height=520,bg='white',highlightbackground=bg
_color,highlightthickness=3)

headline_lb=Label(welcome_fm,text='WORK-ENTRY FORM',font='bold
15',bg=bg_color,fg=fg_color)
headline_lb.place(x=0,y=0,width=900)
btn_account=Button(welcome_fm,text='NEW WORK',width=22,font='bold
13',bg=bg_color,fg=fg_color,command=btn_new_code)
btn_account.place(x=100,y=150)
btn_account=Button(welcome_fm,text='SAVE WORK',width=22,font='bold
13',bg=bg_color,fg=fg_color,command=btn_insert_code)
btn_account.place(x=100,y=250)
btn_account=Button(welcome_fm,text='BACK DASHBOARD',width=22,font='bold
13',bg=bg_color,fg=fg_color,command=btn_back_code)
btn_account.place(x=100,y=350)

#-----------------------Row 1--------------------------------------------------------
label_1=Label(welcome_fm,text="Work
ID",width=20,anchor='w',font=("bold",12),bg='white').place(x=400,y=80)
entry_1=Entry(welcome_fm,highlightthickness=1,width=28)
entry_1.place(x=400,y=105)
entry_1.config(highlightbackground = "grey", highlightcolor= entry_border_color)

label_2=Label(welcome_fm,text="Checkin
Date",width=20,anchor='w',font=("bold",12),bg='white').place(x=640,y=80)
entry_2=Entry(welcome_fm,highlightthickness=1,width=28)
entry_2.place(x=640,y=105)
entry_2.config(highlightbackground = "grey", highlightcolor= entry_border_color)
#-----------------------Row 2--------------------------------------------------------

label_3=Label(welcome_fm,text="Manufacturers",width=20,anchor='w',font=("bold",
12),bg='white').place(x=400,y=150)
entry_3=Entry(welcome_fm,highlightthickness=1,width=28)
entry_3.place(x=400,y=175)
entry_3.config(highlightbackground = "grey", highlightcolor= entry_border_color)

label_4=Label(welcome_fm,text="Model",width=20,anchor='w',font=("bold",12),bg=
'white').place(x=640,y=150)
entry_4=Entry(welcome_fm,highlightthickness=1,width=28)
entry_4.place(x=640,y=175)
entry_4.config(highlightbackground = "grey", highlightcolor= entry_border_color)
#-----------------------Row 3--------------------------------------------------------
label_5=Label(welcome_fm,text="Registration
No",width=20,anchor='w',font=("bold",12),bg='white').place(x=400,y=220)
entry_5=Entry(welcome_fm,highlightthickness=1,width=28)
entry_5.place(x=400,y=245)
entry_5.config(highlightbackground = "grey", highlightcolor= entry_border_color)

label_6=Label(welcome_fm,text="Fuel
Type",width=20,anchor='w',font=("bold",12),bg='white').place(x=640,y=220)
entry_6=Entry(welcome_fm,highlightthickness=1,width=28)
entry_6.place(x=640,y=245)
entry_6.config(highlightbackground = "grey", highlightcolor= entry_border_color)
#-----------------------Row 4--------------------------------------------------------
label_7=Label(welcome_fm,text="Owner
Name",width=20,anchor='w',font=("bold",12),bg='white').place(x=400,y=290)
entry_7=Entry(welcome_fm,highlightthickness=1,width=28)
entry_7.place(x=400,y=315)
entry_7.config(highlightbackground = "grey", highlightcolor= entry_border_color)

label_8=Label(welcome_fm,text="Contact
No",width=20,anchor='w',font=("bold",12),bg='white').place(x=640,y=290)
entry_8=Entry(welcome_fm,highlightthickness=1,width=28)
entry_8.place(x=640,y=315)
entry_8.config(highlightbackground = "grey", highlightcolor= entry_border_color)
#-----------------------Row 5--------------------------------------------------------

label_9=Label(welcome_fm,text="Email",width=20,anchor='w',font=("bold",12),bg='
white').place(x=400,y=360)
entry_9=Entry(welcome_fm,highlightthickness=1,width=28)
entry_9.place(x=400,y=385)
entry_9.config(highlightbackground = "grey", highlightcolor= entry_border_color)

label_10=Label(welcome_fm,text="Address",width=20,anchor='w',font=("bold",12),
bg='white').place(x=640,y=360)
entry_10=Entry(welcome_fm,highlightthickness=1,width=28)
entry_10.place(x=640,y=385)
entry_10.config(highlightbackground = "grey", highlightcolor= entry_border_color)
#-----------------------Row 6--------------------------------------------------------
label_11=Label(welcome_fm,text="Mechanic
Name",width=20,anchor='w',font=("bold",12),bg='white').place(x=400,y=430)
combo_11=ttk.Combobox(state="readonly",values=["Select Mechanic"],width=25)
combo_11.current(0)
combo_11.place(x=425,y=478)

get_mechenic_code()
welcome_fm.place(x=20,y=20)

bg_color='red'
fg_color='white'
entry_border_color='red'

root = Tk()
root.title('AUTOMOBILE REPAIRING SYSTEM')
root.geometry('940x560')
root.configure(background='white')
create_frame()

root.mainloop()

from tkinter import *


import tkinter.messagebox
from tkinter import messagebox,ttk
import os
from datetime import datetime

def btn_back_code():
root.destroy();
os.system('python A_Dashboard.py')
def create_frame():

def get_work_code():

mycursor=mydb.cursor()
mycursor.execute("select work_id from worksheet_tb where status='Pending'")
records=mycursor.fetchall()
acc_no=['Select Work ID']
for row in records:
acc_no.append(str(row[0]))
combo_1['values'] = acc_no
entry_13.delete(0, END)
dt=datetime.today().strftime('%d-%m-%Y')
entry_13.insert(0,str(dt))

def get_workdetail_code():
t1=combo_1.get()

mycursor=mydb.cursor()
mycursor.execute("select * from worksheet_tb where work_id='"+t1+"'")
records=mycursor.fetchall()
for row in records:
entry_2['text']=str(row[1])
entry_3['text']=str(row[2])
entry_4['text']=str(row[3])
entry_5['text']=str(row[4])
entry_6['text']=str(row[5])
entry_7['text']=str(row[6])
entry_8['text']=str(row[7])
entry_9['text']=str(row[8])
entry_10['text']=str(row[9])
entry_11['text']=str(row[10])

def btn_insert_code():
t1=combo_1.get()
t12=entry_12.get()
t13=entry_13.get()

mycursor=mydb.cursor()
mycursor.execute("update worksheet_tb set
services='"+t12+"',handover_date='"+t13+"',status='Complete' where
work_id='"+t1+"' ")
mydb.commit()
tkinter.messagebox.showinfo("Message","Details Added Successfully")
clear_code()

def clear_code():
combo_1.current(0)
entry_2.delete(0, END)
entry_3.delete(0, END)
entry_4.delete(0, END)
entry_5.delete(0, END)
entry_6.delete(0, END)
entry_7.delete(0, END)
entry_8.delete(0, END)
entry_9.delete(0, END)
entry_10.delete(0, END)
entry_11.delete(0, END)

welcome_fm=Frame(root,width=900,height=600,bg='white',highlightbackground=bg
_color,highlightthickness=3)

headline_lb=Label(welcome_fm,text='WORK-DONE FORM',font='bold
15',bg=bg_color,fg=fg_color)
headline_lb.place(x=0,y=0,width=900)
btn_account=Button(welcome_fm,text='GET WORK DETAIL',width=22,font='bold
13',bg=bg_color,fg=fg_color,command=get_workdetail_code)
btn_account.place(x=100,y=220)
btn_account=Button(welcome_fm,text='WORK DONE',width=22,font='bold
13',bg=bg_color,fg=fg_color,command=btn_insert_code)
btn_account.place(x=100,y=320)
btn_account=Button(welcome_fm,text='BACK DASHBOARD',width=22,font='bold
13',bg=bg_color,fg=fg_color,command=btn_back_code)
btn_account.place(x=100,y=420)

#-----------------------Row 1--------------------------------------------------------
label_1=Label(welcome_fm,text="Work
ID",width=20,anchor='w',font=("bold",12),bg='white').place(x=400,y=80)
combo_1=ttk.Combobox(state="readonly",values=["Select Work ID"],width=25)
combo_1.current(0)
combo_1.place(x=422,y=128)
label_2=Label(welcome_fm,text="Checkin
Date",width=20,fg='gray',anchor='w',font=("bold",12),bg='white').place(x=640,y=80)

entry_2=Label(welcome_fm,text="______________",width=20,anchor='w',font=("bo
ld",12),bg='white')
entry_2.place(x=640,y=105)
#-----------------------Row 2--------------------------------------------------------

label_3=Label(welcome_fm,text="Manufacturers",width=20,fg='gray',anchor='w',fon
t=("bold",12),bg='white').place(x=400,y=150)

entry_3=Label(welcome_fm,text="______________",width=20,anchor='w',font=("bo
ld",12),bg='white')
entry_3.place(x=400,y=175)

label_4=Label(welcome_fm,text="Model",width=20,fg='gray',anchor='w',font=("bold
",12),bg='white').place(x=640,y=150)

entry_4=Label(welcome_fm,text="______________",width=20,anchor='w',font=("bo
ld",12),bg='white')
entry_4.place(x=640,y=175)
#-----------------------Row 3--------------------------------------------------------
label_5=Label(welcome_fm,text="Registration
No",width=20,fg='gray',anchor='w',font=("bold",12),bg='white').place(x=400,y=220)

entry_5=Label(welcome_fm,text="______________",width=20,anchor='w',font=("bo
ld",12),bg='white')
entry_5.place(x=400,y=245)

label_6=Label(welcome_fm,text="Fuel
Type",width=20,fg='gray',anchor='w',font=("bold",12),bg='white').place(x=640,y=22
0)

entry_6=Label(welcome_fm,text="______________",width=20,anchor='w',font=("bo
ld",12),bg='white')
entry_6.place(x=640,y=245)
#-----------------------Row 4--------------------------------------------------------
label_7=Label(welcome_fm,text="Owner
Name",width=20,fg='gray',anchor='w',font=("bold",12),bg='white').place(x=400,y=29
0)

entry_7=Label(welcome_fm,text="______________",width=20,anchor='w',font=("bo
ld",12),bg='white')
entry_7.place(x=400,y=315)
label_8=Label(welcome_fm,text="Contact
No",width=20,fg='gray',anchor='w',font=("bold",12),bg='white').place(x=640,y=290)

entry_8=Label(welcome_fm,text="______________",width=20,anchor='w',font=("bo
ld",12),bg='white')
entry_8.place(x=640,y=315)
#-----------------------Row 5--------------------------------------------------------

label_9=Label(welcome_fm,text="Email",width=20,fg='gray',anchor='w',font=("bold
",12),bg='white').place(x=400,y=360)

entry_9=Label(welcome_fm,text="______________",width=20,anchor='w',font=("bo
ld",12),bg='white')
entry_9.place(x=400,y=385)

label_10=Label(welcome_fm,text="Address",width=20,fg='gray',anchor='w',font=("b
old",12),bg='white').place(x=640,y=360)

entry_10=Label(welcome_fm,text="______________",width=20,anchor='w',font=("b
old",12),bg='white')
entry_10.place(x=640,y=385)
#-----------------------Row 6--------------------------------------------------------
label_11=Label(welcome_fm,text="Mechanic
Name",width=20,fg='gray',anchor='w',font=("bold",12),bg='white').place(x=400,y=43
0)

entry_11=Label(welcome_fm,text="______________",width=20,anchor='w',font=("b
old",12),bg='white')
entry_11.place(x=400,y=455)

label_12=Label(welcome_fm,text="Services",width=20,anchor='w',font=("bold",12),
bg='white').place(x=640,y=430)
entry_12=Entry(welcome_fm,highlightthickness=1,width=28)
entry_12.place(x=640,y=455)
entry_12.config(highlightbackground = "grey", highlightcolor= entry_border_color)
#-----------------------Row 7--------------------------------------------------------
label_13=Label(welcome_fm,text="Handover
Date",width=20,anchor='w',font=("bold",12),bg='white').place(x=400,y=500)
entry_13=Entry(welcome_fm,highlightthickness=1,width=28)
entry_13.place(x=400,y=525)
entry_13.config(highlightbackground = "grey", highlightcolor= entry_border_color)

get_work_code()
welcome_fm.place(x=20,y=20)

bg_color='red'
fg_color='white'
entry_border_color='red'

root = Tk()
root.title('AUTOMOBILE REPAIRING SYSTEM')
root.geometry('940x640')
root.configure(background='white')
create_frame()

root.mainloop()

from tkinter import *


import tkinter.messagebox
import os
import mysql.connector

def btn_reportmechanic_code():
root.destroy();
os.system('python A_ReportMechanic.py')

def btn_reportservice_code():
root.destroy();
os.system('python A_ReportService.py')

def btn_reportworkentry_code():
root.destroy();
os.system('python A_ReportWorkentry.py')

def btn_back_code():
root.destroy();
os.system('python A_Dashboard.py')

def create_frame():

welcome_fm=Frame(root,width=600,height=400,bg='white',highlightbackground=bg
_color,highlightthickness=3)

headline_lb=Label(welcome_fm,text='REPORT SECTION',font='bold
15',bg=bg_color,fg=fg_color)
headline_lb.place(x=0,y=0,width=600)
btn_account=Button(welcome_fm,text='MECHANIC REPORT',width=22,font='bold
13',bg=bg_color,fg=fg_color,command=btn_reportmechanic_code)
btn_account.place(x=350,y=100)
btn_transaction=Button(welcome_fm,text='SERVICES
REPORT',width=22,font='bold
13',bg=bg_color,fg=fg_color,command=btn_reportservice_code)
btn_transaction.place(x=350,y=160)
btn_report=Button(welcome_fm,text='WORKSHEET
REPORT',width=22,font='bold
13',bg=bg_color,fg=fg_color,command=btn_reportworkentry_code)
btn_report.place(x=350,y=220)
btn_logout=Button(welcome_fm,text=' BACK TO
DASHBOARD',width=22,font='bold
13',bg=bg_color,fg=fg_color,command=btn_back_code)
btn_logout.place(x=350,y=280)

welcome_fm.place(x=20,y=20)

bg_color='red'
fg_color='white'

root = Tk()
root.title('AUTOMOBILE REPAIRING SYSTEM')
root.geometry('640x450')
root.configure(background='white')
create_frame()

canv =Canvas(root, width=285,height=295,bg='white')


canv.place(x=60,y=100)
img = ImageTk.PhotoImage(Image.open("A_Report.png"))
canv.create_image(20,20, anchor=NW,image=img)

root.mainloop()

from tkinter import *


import tkinter.messagebox
from tkinter import messagebox,ttk
import os
from datetime import datetime

def btn_back_code():
root.destroy();
os.system('python A_Report.py')

def create_frame():

def get_transaction_code():

mycursor=mydb.cursor()
mycursor.execute("select ser_id,service,charge,description from Service_tb")
records=mycursor.fetchall()
for row in records:
tree.insert("", END, values=row)

welcome_fm=Frame(root,width=760,height=600,bg='white',highlightbackground=bg
_color,highlightthickness=3)

headline_lb=Label(welcome_fm,text='SERVICES REPORT FORM',font='bold


15',bg=bg_color,fg=fg_color)
headline_lb.place(x=0,y=0,width=760)
btn_account=Button(welcome_fm,text='DISPLAY RECORDS',width=22,font='bold
13',bg=bg_color,fg=fg_color,command=get_transaction_code)
btn_account.place(x=430,y=120)
btn_account=Button(welcome_fm,text='BACK TO
DASHBOARD',width=22,font='bold
13',bg=bg_color,fg=fg_color,command=btn_back_code)
btn_account.place(x=430,y=220)

tree = ttk.Treeview(root, column=("C1", "C2", "C3", "C4"), show='headings')


tree.column("#1", anchor=CENTER, width=130,stretch=NO)
tree.heading("#1", text="Service ID")
tree.column("#2", anchor=CENTER,width=150,stretch=NO)
tree.heading("#2", text="Service Name")
tree.column("#3", anchor=CENTER,width=150,stretch=NO)
tree.heading("#3", text="Charge")
tree.column("#4", anchor=CENTER,width=150,stretch=NO)
tree.heading("#4", text="Description")
tree.place(x=110,y=370)

welcome_fm.place(x=20,y=20)

bg_color='red'
fg_color='white'
entry_border_color='red'

root = Tk()
root.title('AUTOMOBILE REPAIRING SYSTEM')
root.geometry('800x640')
root.configure(background='white')
create_frame()

canv =Canvas(root, width=280,height=262,bg='white')


canv.place(x=140,y=80)
img = ImageTk.PhotoImage(Image.open("A_Dashboard.png"))
canv.create_image(20,20, anchor=NW,image=img)

root.mainloop()
User Interface / Output

Login Page:-

Dashboard Page:-
Mechanic Page:-

Service Page:-
Work Entry Page:-

Work-Done Page:-
Report Page:-

Mechanic Report:-
Work entry Report:-
Conclusion

The main goals and objectives of the study was to create a dynamic
application in order to assist in the management of customers records and
help to find a required details in a shop by using modern technology.

This system fulfills below requirements:-


1. This application helps to reduce the work load of m e c h a n i c in a shop.
2. By utilizing this application, the customers can straightforwardly
give vehicle details.
3. It is created for s h o p s to improve on their routine administrative and functional
understanding.
4. To keep records about the customers and also to maintain the record of the
items present in a shop.
Re f e r e nc e s

[1] https://stackoverflow.com/
[2]https://google.com/
[3]https://www.mysql.org/
[4]]https://www.python.org/
[5] https://pypi.org/project/customtkinter/0.3/

You might also like