You are on page 1of 14

Faculty of Engineering and Technology

Department of Computer Science and Engineering


Jain Global Campus, Kanakapura Taluk - 562112
Ramanagara District, Karnataka, India

A Project Report on
“Bike Service Management”

For the partial fulfilment of

BACHELOR OF TECHNOLOGY
IN
C O MP U T E R S C I E N C E A N D E N G I N E E R I N G

Submitted by
K.Sai Harsha Vardhan
17BTLCS002

G.Krishna Murthy
17BTRCS006
Faculty of Engineering & Technology
Department of Computer Science and Engineering
Jain Global campus
Kanakapura Taluk - 562112
Ramanagara District
Karnataka, India

CERTIFICATE

This is to certify that the Project worktitled “Bike Service Management”for the
courseScripting Language Labduring 5th semester, is carried out by K.Sai Harsha
Vardhan (17BTLCS002), G.Krishna Murthy (17BTRCS006) are bonafide students at the
Faculty of Engineering & Technology, JAIN (Deemed-to-be-University), Bangalore in partial
fulfilment for the award of degree in Bachelor of Technology in Computer Science and
Engineering, during the year 2019 - 20.

Prof.Deepa.T.P. Prof.Prashanth Head of the Department


Assistant Professor Assistant Professor Dept. of Computer Science and
Dept. of Computer Science and Dept. of Computer Science and Engineering ,
Engineering , Engineering , Faculty of Engineering &
Faculty of Engineering & Faculty of Engineering & Technology,
Technology, Technology, JAIN (Deemed-to-be-University)
JAIN (Deemed-to-be-University) JAIN (Deemed-to-be-University) Date:
Date: Date::
TABLE OF CONTENTS
Chapter 1 01
1. INTRODUCTION 01
1.1 Problem Definition 01
1.2 Objectives 02
1.3 Methodology 04
1.4 Software Requirements 05
1.5 Tool Description 06

Chapter 2 07
2. IMPLEMENTATION 07
2.1 Design and Implementation 07
2.1.1 Implementation Mechanism 08
2.1.2 Major Considerations for Implementation 09
2.1.3 Source Code 10
2.2 Algorithm Used 11

Chapter 3
3. RESULTS AND DISCUSSION 12

Chapter 4
4. CONCLUSION 13

REFERENCES 14
Chapter 1
Introduction
This chapter gives an overview about the aim , objectives ,background and operation environment of
the system.

1.1. Problem Definition


The Bike service management makes an definition of customer who comes for servicing of
their bikes.The user stores the information about the customer and about the bike and what
type of service it want.

1.2. Objectives
The project aims and objectives that will be achieved after completion of this project are
discussed in this subchapter. The aims and objectives are as follows:
 Request column for customer serving detail for providing service
 A separate column for storing files of customer details
 login page where user can access issued by him/her and date of return. A search column
to search availability of details

.
1.3. Methodology
The bike serice management project done in python script and the flow of project is first we
have to login ,after login it redirected to another page which we have to fill the details of
customer and save the file.

1.4. Software Requirements


Here we use
1.pycharm
2.python ide
3.mysql

1.5. Tool Description


Pycharm is an software which is used to implement the python script.In program we used
Tkinter GUI Interface which comes form in output.

Chapter 2
Implementation
2.1. Design & Implementation
The project consist with two pages login and software where the login page consist with
user name and password and software consist with number of textbox with customer
name,bikename,bikenumber,date,email,phoneno,servicetype,proofid and payment.

2.1.1. Implementation Mechanism


The implementation done in python script where is an gui interface create an output in
pycharm tkinter .where the python ide is used to implement the python script to any
application we used as front end,
2.1.2. Major Considerations for Implementation
The major consideration is to maintaining the customer details in file beside the output of
the project.The issue is to carry the files secure and delete the anwanted file with delete
button in project.

2.1.3. Source Code


Software.py

from tkinter import*


from tkinter import ttk,messagebox
import os
class File_App:
def __init__(self, coursecombo=None):
self.root=Tk()
self.root.title("Bike Service Management")
self.root.geometry("1350x700+0+0")
self.root.config(bg="#074463")
title=Label(self.root,text="Bike Service
Management",bd=10,relief=GROOVE,bg="black",fg="white",pady=10,font=("times new
roman",35,"bold")).pack(fill=X)
Student_Frame=Frame(self.root,bd=10,relief=GROOVE,bg="#074463")
Student_Frame.place(x=20,y=100,height=450)

stitle=Label(Student_Frame,text="Enter
Details",bg="#074463",fg="white",font=("times new
roman",30,"bold")).grid(row=0,columnspan=4,pady=20)

#====All Variables==========
self.s_id=StringVar()
self.name=StringVar()
self.course=StringVar()
self.address=StringVar()
self.city=StringVar()
self.contact=StringVar()
self.date=StringVar()
self.degree=StringVar()
self.proof=StringVar()
self.payement=StringVar()

lblsid=Label(Student_Frame,text="Customer
Name",bg="#074463",fg="white",font=("times new
roman",20,"bold")).grid(row=1,column=0,pady=10,padx=20,sticky="w")

txtsid=Entry(Student_Frame,bd=7,textvariable=self.s_id,relief=GROOVE,width=22,font
="arial 15 bold").grid(row=1,column=1,padx=10,pady=10)

lblcontact=Label(Student_Frame,text="Bike
Name.",bg="#074463",fg="white",font=("times new
roman",20,"bold")).grid(row=1,column=2,pady=10,padx=20,sticky="w")

txtcontact=Entry(Student_Frame,bd=7,textvariable=self.contact,relief=GROOVE,width=
22,font="arial 15 bold").grid(row=1,column=3,padx=10,pady=10)

lblname=Label(Student_Frame,text="Bike
Number",bg="#074463",fg="white",font=("times new
roman",20,"bold")).grid(row=2,column=0,pady=10,padx=20,sticky="w")

txtname=Entry(Student_Frame,bd=7,relief=GROOVE,textvariable=self.name,width=22,fon
t="arial 15 bold").grid(row=2,column=1,padx=10,pady=10)

lbldate=Label(Student_Frame,text="Date(dd/mm/yyyy)",bg="#074463",fg="white",font=(
"times new roman",20,"bold")).grid(row=2,column=2,pady=10,padx=20,sticky="w")

txtdate=Entry(Student_Frame,bd=7,relief=GROOVE,textvariable=self.date,width=22,fon
t="arial 15 bold").grid(row=2,column=3,padx=10,pady=10)

lblcourse=Label(Student_Frame,text="email",bg="#074463",fg="white",font=("times
new roman",20,"bold")).grid(row=3,column=0,pady=10,padx=20,sticky="w")

txtcourse=Entry(Student_Frame,bd=7,relief=GROOVE,width=22,textvariable=self.course
,font="arial 15 bold").grid(row=3,column=1,padx=10,pady=10)

lbladdress=Label(Student_Frame,text="phoneno",bg="#074463",fg="white",font=("times
new roman",20,"bold")).grid(row=4,column=0,pady=10,padx=20,sticky="w")

txtaddress=Entry(Student_Frame,bd=7,relief=GROOVE,textvariable=self.address,width=
22,font="arial 15 bold").grid(row=4,column=1,padx=10,pady=10)

lblcity=Label(Student_Frame,text="service
type",bg="#074463",fg="white",font=("times new
roman",20,"bold")).grid(row=5,column=0,pady=10,padx=20,sticky="w")

txtcity=Entry(Student_Frame,bd=7,relief=GROOVE,width=22,textvariable=self.city,fon
t="arial 15 bold").grid(row=5,column=1,padx=10,pady=10)

lblproof=Label(Student_Frame,text="Id
Proof",bg="#074463",fg="white",font=("times new
roman",20,"bold")).grid(row=4,column=2,pady=10,padx=20,sticky="w")
lbldegree=Label(Student_Frame,text="Payment
Mode",bg="#074463",fg="white",font=("times new
roman",20,"bold")).grid(row=5,column=2,pady=10,padx=20,sticky="w")

idcombo=ttk.Combobox(Student_Frame,width=20,textvariable=self.proof,state="readonl
y" ,font="arial 15 bold")
idcombo['values']=("PAN Card","Driving License","Student ID Card")
idcombo.grid(row=4,column=3,padx=10 ,pady=10)

paymentcombo=ttk.Combobox(Student_Frame,width=20,textvariable=self.payement,state=
"readonly" ,font="arial 15 bold")
paymentcombo['values']=("Cash","UPI","Internet Banking","Credit Card")
paymentcombo.grid(row=5,column=3,padx=10 ,pady=10)

btnFrame=Frame(self.root,bd=10,relief=GROOVE,bg="cadetblue")
btnFrame.place(x=18,y=570)

btnsave=Button(btnFrame,text="Save",font="arial 15
bold",bg="yellow",bd=7,width=18,command=self.save_data).grid(row=0,column=0,padx=1
2,pady=10)
btndelete=Button(btnFrame,text="Delete",font="arial 15
bold",bg="yellow",bd=7,width=18,command=self.delete).grid(row=0,column=1,padx=12,p
ady=10)

btnclear=Button(btnFrame,text="Clear",command=self.clear,bg="yellow",font="arial
15 bold",bd=7,width=18).grid(row=0,column=2,padx=12,pady=10)
btnlog=Button(btnFrame,text="Logout",font="arial 15
bold",bg="yellow",bd=7,width=18,command=self.logout).grid(row=0,column=3,padx=12,p
ady=10)
btnexit=Button(btnFrame,text="Exit",font="arial 15
bold",bg="yellow",bd=7,width=18,command=self.exit_fun).grid(row=0,column=4,padx=12
,pady=10)

File_Frame=Frame(self.root,bd=10,relief=GROOVE)
File_Frame.place(x=1040,y=100,width=300,height=450)

ftitle=Label(File_Frame,text="All Files",font="arial 20
bold",bd=5,relief=GROOVE).pack(side=TOP,fill=X)

scroll_y=Scrollbar(File_Frame,orient=VERTICAL)
self.file_list=Listbox(File_Frame,yscrollcommand=scroll_y.set)
scroll_y.pack(side=RIGHT,fill=Y)
scroll_y.config(command=self.file_list.yview)
self.file_list.pack(fill=BOTH,expand=1)
self.file_list.bind("<ButtonRelease-1>",self.get_data)
self.show_files()
self.root.mainloop()
def save_data(self):
present="no"
if self.s_id.get()=="":
messagebox.showerror("Error","detials must be Required!!")
else:
f=os.listdir("files/")
if len(f)>0:
for i in f:
if i.split(".")[0] == self.s_id.get():
present="yes"
if present=="yes":
ask=messagebox.askyesno("Update","File already present \nDo
you want to update it?")
if ask>0:
self.save_file()
messagebox.showinfo("Update","Record has updated
Successfully")
self.show_files()
else:
self.save_file()
messagebox.showinfo("Saved","Record has saved Successfully")
self.show_files()

else:
self.save_file()
messagebox.showinfo("Saved","Record has saved Successfully")
self.show_files()

def save_file(self):
f=open("files/"+str(self.s_id.get())+".txt","w")
f.write(
str(self.s_id.get())+","+
str(self.name.get())+","+
str(self.course.get())+","+
str(self.address.get())+","+
str(self.city.get())+","+
str(self.contact.get())+","+
str(self.date.get())+","+
str(self.degree.get())+","+
str(self.payement.get())
)
f.close()

def show_files(self):
files=os.listdir("files/")
self.file_list.delete(0,END)
if len(files)>0:
for i in files:
self.file_list.insert(END,i)

def get_data(self,ev):
get_cursor=self.file_list.curselection()
f1=open("files/"+self.file_list.get(get_cursor))
value=[]
for f in f1:
value=f.split(",")

self.s_id.set(value[0])
self.name.set(value[1])
self.course.set(value[2])
self.address.set(value[3])
self.city.set(value[4])
self.contact.set(value[5])
self.date.set(value[6])
self.degree.set(value[7])
self.payement.set(value[9])
def clear(self):
self.s_id.set("")
self.name.set("")
self.course.set("")
self.address.set("")
self.city.set("")
self.contact.set("")
self.date.set("")
self.degree.set("")
self.payement.set("")
def delete(self):
present="no"
if self.s_id.get()=="":
messagebox.showerror("Error","customer name must be Required!!")
else:
f=os.listdir("files/")
if len(f)>0:
for i in f:
if i.split(".")[0] == self.s_id.get():
present="yes"
if present=="yes":
ask=messagebox.askyesno("Delete","Do you really want to
Delete?")
if ask>0:
os.remove("files/"+self.s_id.get()+".sql")
messagebox.showinfo("Success","Deleted Successfully")
self.show_files()
else:
messagebox.showerror("Error","File not found")
def exit_fun(self):
ask=messagebox.askyesno("Exit","Do you really want to Exit?")
if ask>0:
self.root.destroy()
def logout(self):
self.root.destroy()
import login

login.py
from tkinter import*
from tkinter import messagebox
class Login:
def __init__(self,root):
self.root=root
self.root.title("Bike Service Management")
self.root.geometry("1350x700+0+0")
self.root.focus_force()
self.root.config(bg="white")
title=Label(root,bg="black",fg="white",text="Bike Serive
System",font=("times new
roman",30,"bold"),pady=10,bd=10,relief=GROOVE).pack(fill=X)
F1=Frame(self.root,bd=10,relief=GROOVE)
F1.place(x=450,y=150,height=350)

self.user=StringVar()
self.password=StringVar()

title=Label(F1,text="Login System",font=("times new


roman",30,"bold")).grid(row=0,columnspan=2,pady=20)
lblusername=Label(F1,text="Username",font=("times new
roman",25,"bold")).grid(row=1,column=0,pady=10,padx=10)

txtuser=Entry(F1,bd=7,relief=GROOVE,textvariable=self.user,width=25,font="arial 15
bold").grid(row=1,column=1,padx=10,pady=10)

lblpass=Label(F1,text="Password",font=("times new
roman",25,"bold")).grid(row=2,column=0,pady=10,padx=10)

txtpass=Entry(F1,bd=7,relief=GROOVE,show="*",textvariable=self.password,width=25,f
ont="arial 15 bold").grid(row=2,column=1,padx=10,pady=10)

btnlog=Button(F1,text="Login",font="arial 15
bold",bd=7,width=10,command=self.logfun).place(x=10,y=250)
btnreset=Button(F1,text="Reset",font="arial 15
bold",bd=7,width=10,command=self.reset).place(x=170,y=250)
btnexit=Button(F1,text="Exit",font="arial 15
bold",bd=7,width=10,command=self.exit_fun).place(x=320,y=250)

def logfun(self):
if self.user.get()=="Harsha" and self.password.get()=="123456": #change
username and password here
self.root.destroy()
import software
software.File_App()
else:
messagebox.showerror("Error","invalid username or password")
def reset(self):
self.user.set("")
self.password.set("")

def exit_fun(self):
option=messagebox.askyesno("Exit","Do you really want to exit?")
if option>0:
self.root.destroy()
else:
return
root=Tk()
ob=Login(root)
root.mainloop()
Chapter 3
Results and Discussion
1.The result of bike service system is

2.According to the image the details stores beside the file list.

Chapter 4
Conclusion
This provides a computerized version of Bike management system which will
benefit the customer s.It makes entire process online where customer details
stores data, user can generate file and save the data. The Bike servicing of
every customer details stores in project.

References
1.The reference in the website imojo.com which provide an easy way to provide project
easier way in www.youtube.com
2.Author name rangesh which given details of project in www.imojo.com which serach n
google in any browser

You might also like