Development of an interactive car sale system which lets a user to find a car and its details is the main objective of this project. The administrators can access, enter, modify and delete the details of every car. Administrators are responsible of maintaining the details of vehicles like the Manufacturer information,
Hierarchy of management that covers different levels of management
PYTHON PROJECT ON CARSHOP SYSTEM
1. Name of Your School / University
Project Report
On
CAR SHOP SYSTEM
………………………………………………..
(SESSION-…………….)
………………………….
…...............
LOGO IMAGE
2. ACKNOWLEDGEMENT
I would like to convey my heartful thanks to
……………………………. (Computer Science) who always
gave valuable suggestions & guidance for completion of my
project.
He helped me to understand & remember important details of
the project. My project has been a success only because of his
guidance.
I am especially indented & I am also beholden to my friends. And
finally I thank to the members of my family for their support &
encouragement.
3. CERTIFICATE
This is to certify that …………………… of class
………… of ………………………………… has
completed his project under my supervision. He has taken
proper care & shown sincerity in completion of this project.
I certify that this project is up to my expectation &
as per the guideline issued by CBSE.
………………………………..
(Computer Science faculty)
5. INTRODUCTION
Development of an interactive car sale system which lets a user to
find a car and its details is the main objective of this project. The
administrators can access, enter, modify and delete the details of
every car. Administrators are responsible of maintaining the details
of vehicles like the Manufacturer information, Year, Model, Price,
and descriptions. This is a software which can be used by a Car
center for keeping the records of items which is to be transacted for
purchase and sell. The system’s main functions include:
Look up various cars listing with details included:-
You may select, search, modify and delete the car details
he system provides a search algorithm which enables the user
to find a car with all details displayed matching the car model
Users can also view the information of vehicles purchased and
their particulars.
Menus are part of the excellent user interface implemented in
the project
7. DATABASE STRUCTURE
Database Name: carshop
Table Name: carinfo
Column Name Data Type /Width Constraints
carid int(11) Primary Key
carnm varchar(30)
type varchar(25)
company varchar(25)
qty int(11)
rice int(11)
description varchar(35)
enginetype varchar(10)
modelno varchar(10)
colour varchar(15)
Table Name: carinvoice
Column Name Data Type /Width Constraints
carinvoid int(11) Primary Key
carid int(11)
custnm varchar(30)
mobno varchar(15)
qty int(11)
status varchar(25)
invoiceno int(11)
amt int(11)
dateSP date
8. SOURCE CODE
File Name: carmenu.py
"""*************************************************************
THE MAIN FUNCTION OF PROGRAM
****************************************************************"""
import platform
import os
def myclear():
if platform.system()=="Windows":
print(os.system("cls"))
def intromain():
myclear()
print("**********CAR*******SHOP****SYSTEM******PROJECT*********
**********")
print("**************************************************************
****")
def intro():
print("*************************CAR
SUPERMARKET***************************")
print("=======================================================
====")
print("****************************S=Y=S=T=E=M********************
********")
print("PROJECT:")
print("MADE BY : ……………………")
print("---------------SCHOOL : NAME OF SCHOOL--------------------")
10. print("3.SEARCH RECORD BY CAR'S PRODUCT ID")
print("4.SEARCH RECORD BY CAR'S PRODUCT NAME")
print("5.SEARCH RECORD BY PRICE")
print("6.SEARCH RECORD BY TYPE")
print("7.SEARCH RECORD BY COMPANY")
print("8.SEARCH RECORD BY ENGINE TYPE")
print("9.SEARCH RECORD BY MODEL NO")
print("10.SEARCH RECORD BY CAR COLOUR")
print("11.BACK TO MAIN MENU")
ch=int(input("Please Enter Your Choice (1-11) "))
return ch
"""***************************************************************
ADMINSTRATOR CAR'S MAIN MENU FUNCTION
****************************************************************"""
def Car_ADM_menu():
ch=0
myclear()
intromain()
print("=================ADMIN MENU====================")
print("1.CAR'S MENU")
print("2.CAR'S SALE/PURCHASE")
print("3.BACK TO MAIN MENU")
ch=int(input("Please Enter Your Choice (1-3) "))
return ch
"""**********************************************************
MODIFY MENU
********************************************************"""
def modifyCar_menu():
ch=0
myclear()
intromain()
print("===============MODIFY MENU==================")
11. print("1.MODIFY CAR'S PRODUCT NAME")
print("2.MODIFY PRICE")
print("3.MODIFY QUANTITY")
print("4.MODIFY TYPE")
print("5.MODIFY COMPANY")
print("6.MODIFY DESCRIPTION")
print("7-MODIFY ENGINE TYPE")
print("8-MODIFY MODELNO")
print("9-MODIFY COLOUR")
print("10.BACK TO MAIN MENU")
ch=int(input("Please Enter Your Choice (1-10) "))
return ch
"""**********************************************************
REPORTS MENU
********************************************************"""
def SALE_PURCHASEmenu():
ch=0
myclear()
intromain()
print("===============SALE AND PURCHASE
MENU==================")
print("1.CAR'S PRODUCT SOLD OUT")
print("2.CAR'S PRODUCT PURCHASED")
print("3.BACK TO MAIN MENU")
ch=int(input("Please Enter Your Choice (1-3) "))
return ch
def carinvoicereports():
ch=0
myclear()
intromain()
print("=================SPAREPART'S ADD
MENU====================")
print("1.SEARCH AND PRINT SALE INVOICE")
12. print("2.SEARCH AND PRINT PURCHASE INVOICE")
print("3.DISPLAY ALL INVOICE(SALE/PURCHASE)")
print("4.SEARCH INVOICE BY DATEOFINVOICE")
print("5.BACK TO MAIN MENU")
ch=int(input("Please Enter Your Choice (1-5) "))
return ch
File Name: carshop.py
import os
import pymysql
#--------SEARCH AND PRINT SALE INVOICE
def searchCOSinvoice():
try:
mydb=pymysql.connect(host="localhost", user="root", passwd="",
database="carshop")
C=mydb.cursor()
tot=0
gst=0
count=1
nettot=0
invo=int(input("Enter the Invoice No:"))
Query=("SELECT
carinfo.carnm,carinvoice.amt,carinvoice.qty,carinvoice.dateSP,carinvoice.custnm,c
arinvoice.mobno FROM carinfo,carinvoice WHERE carinfo.carid=carinvoice.carid
AND carinvoice.status='SALE' AND carinvoice.invoiceno=%s")
data=(invo,)
C.execute(Query,data)
rc=C.fetchall()
if rc:
print("----------------INVOICE: ",invo,"---------DATE: ",rc[0][3])
print("--NAME:--",rc[0][4],"-----------MOBILE NO.:",rc[0][5])
print("--------------------------SALE------------------------------")
print("S.NO.----|------------CAR NAME-------------------TOTAL-----")
for rc1 in rc:
13. tot=tot+rc1[1]
print(count," |---",rc1[0],"ttttt |t",rc1[1])
count=count+1
gst=tot*12/100
nettot=tot+gst
print("=======================================================
=====")
print(" Total: ",tot)
print(" GST : ",gst)
print(" NETTOTAL: ",nettot)
input("----------------------Press any key-------------------------")
C.close()
mydb.close()
return rc
except:
mydb.close()
def searchPURinvoice():
try:
mydb=pymysql.connect(host="localhost", user="root", passwd="",
database="carshop")
C=mydb.cursor()
tot=0
gst=0
count=1
nettot=0
invo=int(input("Enter the Invoice No:"))
Query=("SELECT
carinfo.carnm,carinvoice.amt,carinvoice.qty,carinvoice.dateSP,carinvoice.custnm,c
arinvoice.mobno FROM carinfo,carinvoice WHERE carinfo.carid=carinvoice.carid
AND carinvoice.status='PURCHASE' AND carinvoice.invoiceno=%s")
data=(invo,)
C.execute(Query,data)
14. rc=C.fetchall()
if rc:
print("----------------INVOICE: ",invo,"---------DATE: ",rc[0][3])
print("--NAME:--",rc[0][4],"-----------MOBILE NO.:",rc[0][5])
print("--------------------------PURCHASE------------------------------")
print("S.NO.----|----------------CAR NAME-------------------TOTAL-----")
for rc1 in rc:
tot=tot+rc1[1]
print(count," |---",rc1[0],"ttttt |t",rc1[1])
count=count+1
gst=tot*12/100
nettot=tot+gst
print("=======================================================
=====")
print(" Total: ",tot)
print(" GST : ",gst)
print(" NETTOTAL: ",nettot)
input("----------------------Press any key-------------------------")
C.close()
mydb.close()
return rc
except:
mydb.close()
#----------display all invoice SALE or PURCHASE wise
def displayinvoiceSP():
try:
mydb=pymysql.connect(host="localhost", user="root", passwd="",
database="carshop")
C=mydb.cursor()
count=1
ch=int(input("Enter the Choice 1- SALE Wise 2- PURCHASE Wise:"))
15. Query=("SELECT
carinfo.carnm,carinvoice.amt,carinvoice.qty,carinvoice.dateSP,carinvoice.invoiceno
,carinfo.type FROM carinfo,carinvoice WHERE carinfo.carid=carinvoice.carid
AND carinvoice.status=%s")
if(ch==1):
data=('SALE',)
else:
data=('PURCHASE',)
C.execute(Query,data)
rc=C.fetchall()
if rc:
print("---------------------INVOICE LIST---------------------------")
print("------------------------------------------------------------")
print("S.NO.tCAR'S-
NAMEttTYPEtQUANTITYtAMOUNTtDATEtINVOICE NO")
for rc1 in rc:
print(count,"t",rc1[0],"tt",rc1[5],"t",rc1[2],"t",rc1[1],"t",rc1[3],"t",rc1[4])
count=count+1
print("=======================================================
=====")
input("----------------------Press any key-------------------------")
C.close()
mydb.close()
return rc
except:
mydb.close()
#----------display all invoice SALE or PURCHASE by date
def displayinvoiceSPdate():
try:
mydb=pymysql.connect(host="localhost", user="root", passwd="",
database="carshop")
16. C=mydb.cursor()
count=1
ch=int(input("Enter the Choice 1- SALE Wise 2- PURCHASE Wise:"))
dt=input("Enter the date(yyyy-mm-dd)")
Query=("SELECT
carinfo.carnm,carinvoice.amt,carinvoice.qty,carinvoice.dateSP,carinvoice.invoiceno
,carinfo.type FROM carinfo,carinvoice WHERE carinfo.carid=carinvoice.carid
AND carinvoice.status=%s AND carinvoice.dateSP=%s")
if(ch==1):
data=('SALE',dt)
info='SALE'
else:
data=('PURCHASE',dt)
info='PURCHASE'
C.execute(Query,data)
rc=C.fetchall()
if rc:
print("---------------------INVOICE LIST---------------------------")
print("---------------------",info,"---------------------------")
print("NOttCAR-
NAMEtTYPEtQUANTITYtAMOUNTtDATEtINVOICENO")
for rc1 in rc:
print(count,"tt",rc1[0],"t",rc1[5],"t",rc1[2],"t",rc1[1],"t",rc1[3],"t",rc1[4])
count=count+1
print("=======================================================
=====")
input("----------------------Press any key-------------------------")
C.close()
mydb.close()
return rc
except:
17. mydb.close()
#--------------------------------
#---Search Product no
def prodsearchdata(scid):
try:
mydb=pymysql.connect(host="localhost", user="root", passwd="",
database="carshop")
C=mydb.cursor()
Query=("SELECT * FROM carinfo WHERE carid=%s")
data=(scid,)
C.execute(Query,data)
rc=C.fetchone()
if rc:
print("CARIDtCAR-
NAMEtPRICEtQUANTITYtTYPEtBRANDtDESCRIPTIONtENGINETYPEt
MODELNOtCOLOUR")
print(rc[0],"t",rc[1],"t",rc[5],"t",rc[4],"t",rc[2],"t",rc[3],"t",rc[6],"t",rc[7],"t",rc
[8],"t",rc[9])
input("--------------------press the key---------------------------------")
os.system('cls')
C.close()
mydb.close()
return rc
except:
mydb.close()
#---Search Product no
#----Modify Name of the Product
def search_mod_Prodnm():
try:
mydb=pymysql.connect(host="localhost", user="root", passwd="",
database="carshop")
C=mydb.cursor()
pno=int(input("ENTER Car No"))
18. rc1=prodsearchdata(pno)
if rc1:
pnm=input("Enter the new Car name to update:")
Query=("UPDATE carinfo SET carnm=%s WHERE carid=%s")
data=(pnm,pno)
C.execute(Query,data)
mydb.commit()
print(C.rowcount, "record(s) affected")
C.close()
mydb.close()
except:
mydb.close()
#----Modify price of Product
def search_mod_price():
try:
mydb=pymysql.connect(host="localhost", user="root", passwd="",
database="carshop")
C=mydb.cursor()
pno=int(input("ENTER Car No"))
rc1=prodsearchdata(pno)
if rc1:
pr=int(input("Enter the price to update:"))
Query=("UPDATE carinfo SET price=%s WHERE carid=%s")
data=(pr,pno)
C.execute(Query,data)
mydb.commit()
print(C.rowcount, "record(s) affected")
C.close()
mydb.close()
except:
mydb.close()
#----Modify Quantity of Product
def search_mod_qty():
19. try:
mydb=pymysql.connect(host="localhost", user="root", passwd="",
database="carshop")
C=mydb.cursor()
pno=int(input("ENTER Car No"))
rc1=prodsearchdata(pno)
if rc1: #--- and f==1:
qt=int(input("Enter the new Quantity to update:"))
Query=("UPDATE carinfo SET qty=qty+%s WHERE carid=%s")
data=(qt,pno)
C.execute(Query,data)
mydb.commit()
print(C.rowcount, "record(s) affected")
C.close()
mydb.close()
except:
mydb.close()
#----Modify Type of Product
def search_mod_type():
try:
mydb=pymysql.connect(host="localhost", user="root", passwd="",
database="carshop")
C=mydb.cursor()
pno=int(input("ENTER Car No"))
rc1=prodsearchdata(pno)
if rc1: #--- and f==1:
print("(SEDAN/COUPE/SPORTS CAR/STATION
WAGON/HATCHBACK/CONVERTIBLE/)")
print("SPORT-UTILITY VEHICLE (SUV)/MINIVAN/PICKUP TRUCK/")
ty=input("Enter the new Type to update:")
Query=("UPDATE carinfo SET type=%s WHERE carid=%s")
data=(ty,pno)
C.execute(Query,data)
20. mydb.commit()
print(C.rowcount, "record(s) affected")
C.close()
mydb.close()
except:
mydb.close()
#----Modify company of Product
def search_mod_company():
try:
mydb=pymysql.connect(host="localhost", user="root", passwd="",
database="carshop")
C=mydb.cursor()
pno=int(input("ENTER Car No"))
rc1=prodsearchdata(pno)
if rc1: #--- and f==1:
print("Lexus/Kia/Subaru/Mazda/Skoda/Toyota/Honda/Peugeot/Alfa
Romeo/Volvo")
print("Nissan/Jaguar/Hyundai/SEAT/Renault/Mitsubishi/Suzuki/Volkswagen")
print("MG/Audi/Fiat/Ford/Land Rover/BMW/Mercedes-Benz")
ty=input("Enter the new Company to update:")
Query=("UPDATE carinfo SET company=%s WHERE carid=%s")
data=(ty,pno)
C.execute(Query,data)
mydb.commit()
print(C.rowcount, "record(s) affected")
C.close()
mydb.close()
except:
mydb.close()
#----Modify company of Product
def search_mod_desc():
21. try:
mydb=pymysql.connect(host="localhost", user="root", passwd="",
database="carshop")
C=mydb.cursor()
pno=int(input("ENTER Car No"))
rc1=prodsearchdata(pno)
if rc1: #--- and f==1:
ds=input("Enter the new Description to update:")
Query=("UPDATE carinfo SET description=%s WHERE carid=%s")
data=(ds,pno)
C.execute(Query,data)
mydb.commit()
print(C.rowcount, "record(s) affected")
C.close()
mydb.close()
except:
mydb.close()
def search_mod_engtype():
try:
mydb=pymysql.connect(host="localhost", user="root", passwd="",
database="carshop")
C=mydb.cursor()
pno=int(input("ENTER Car No"))
rc1=prodsearchdata(pno)
if rc1: #--- and f==1:
ds=input("Enter the new Engine Type(Petrol/Diesel) to update:")
Query=("UPDATE carinfo SET enginetype=%s WHERE carid=%s")
data=(ds,pno)
C.execute(Query,data)
mydb.commit()
print(C.rowcount, "record(s) affected")
C.close()
mydb.close()
22. except:
mydb.close()
def search_mod_modno():
try:
mydb=pymysql.connect(host="localhost", user="root", passwd="",
database="carshop")
C=mydb.cursor()
pno=int(input("ENTER Car No"))
rc1=prodsearchdata(pno)
if rc1: #--- and f==1:
ds=input("Enter the new Model No to update:")
Query=("UPDATE carinfo SET modelno=%s WHERE carid=%s")
data=(ds,pno)
C.execute(Query,data)
mydb.commit()
print(C.rowcount, "record(s) affected")
C.close()
mydb.close()
except:
mydb.close()
def search_mod_col():
try:
mydb=pymysql.connect(host="localhost", user="root", passwd="",
database="carshop")
C=mydb.cursor()
pno=int(input("ENTER Car No"))
rc1=prodsearchdata(pno)
if rc1: #--- and f==1:
ds=input("Enter the new colour to update:")
Query=("UPDATE carinfo SET colour=%s WHERE carid=%s")
data=(ds,pno)
C.execute(Query,data)
23. mydb.commit()
print(C.rowcount, "record(s) affected")
C.close()
mydb.close()
except:
mydb.close()
#-- to generate the autonumbers
def giveno():
count=0
mydb=pymysql.connect(host="localhost", user="root", passwd="",
database="carshop")
mycursor=mydb.cursor()
query=("SELECT COUNT(*) FROM carinfo")
q=("SELECT MAX(carid) FROM carinfo")
mycursor.execute(query)
rc=mycursor.fetchone()
tmp=rc[0]
print(tmp)
if tmp==0:
count=int(input("Enter the New Car No:"))
else:
q=("SELECT MAX(carid) FROM carinfo")
mycursor.execute(q)
rc=mycursor.fetchone()
count=rc[0]
count=count+1
mycursor.close()
mydb.close()
return count
#-To add new record of Products
def write_carrecord():
try:
24. mydb=pymysql.connect(host="localhost", user="root", passwd="",
database="carshop")
print(mydb)
C=mydb.cursor()
Query=("INSERT INTO carinfo
VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)")
pno=giveno()
pdid=pno
pname=input("Enter Car Name")
print("(SEDAN/COUPE/SPORTS CAR/STATION
WAGON/HATCHBACK/CONVERTIBLE/)")
print("SPORT-UTILITY VEHICLE (SUV)/MINIVAN/PICKUP TRUCK/")
ty=input("Enter Car Type:")
print("Lexus/Kia/Subaru/Mazda/Skoda/Toyota/Honda/Peugeot/Alfa
Romeo/Volvo")
print("Nissan/Jaguar/Hyundai/SEAT/Renault/Mitsubishi/Suzuki/Volkswagen")
print("MG/Audi/Fiat/Ford/Land Rover/BMW/Mercedes-Benz")
bnm=input("Enter Car Company name")
qt=int(input("Enter quantity"))
pr=int(input("Enter Price"))
dsc=input("Enter Product description")
egtype=input("Enter Engine Type(Petrol/desiel)")
modno=input("Enter Model No")
col=input("Enter Car Colour")
data=(pdid,pname,ty,bnm,qt,pr,dsc,egtype,modno,col)
C.execute(Query,data)
mydb.commit()
C.close()
mydb.close()
except:
mydb.close()
#--show all Products
25. def showallCarprod():
try:
mydb=pymysql.connect(host="localhost", user="root", passwd="",
database="carshop")
C=mydb.cursor()
Query=("SELECT * FROM carinfo")
#data=(scid,)
C.execute(Query)
rc=C.fetchall()
if rc:
print("CARIDtCAR-
NAMEtPRICEtQUANTITYtTYPEtBRANDtDESCRIPTIONtENGINETYPEt
MODELNOtCOLOUR")
for x in rc:
print(x[0],"t",x[1],"t",x[5],"t",x[4],"t",x[2],"t",x[3],"t",x[6],"t",x[7],"t",x[8],"t
",x[9])
input("--------------------press the key---------------------------------")
os.system('cls')
C.close()
mydb.close()
return rc
except:
mydb.close()
#----search and display Product by ID
def showprodID():
try:
mydb=pymysql.connect(host="localhost", user="root", passwd="",
database="carshop")
C=mydb.cursor()
scid=int(input("Enter the CAR ID:"))
Query=("SELECT * FROM carinfo WHERE carid=%s")
27. print(rc[0],"t",rc[1],"t",rc[5],"t",rc[4],"t",rc[2],"t",rc[3],"t",rc[6],"t",rc[7],"t",rc
[8],"t",rc[9])
input("--------------------press the key---------------------------------")
os.system('cls')
C.close()
mydb.close()
return rc
except:
mydb.close()
#----search and display Product by price
def showbyProdprice():
try:
mydb=pymysql.connect(host="localhost", user="root", passwd="",
database="carshop")
C=mydb.cursor()
low=int(input("Enter the Price lowest value:"))
high=int(input("Enter the Price Highest value:"))
Query=("SELECT * FROM carinfo WHERE price BETWEEN %s AND %s
")
data=(low,high)
C.execute(Query,data)
rc=C.fetchall()
if rc:
print("CARIDtCAR-
NAMEtPRICEtQUANTITYtTYPEtBRANDtDESCRIPTIONtENGINETYPEt
MODELNOtCOLOUR")
for rc1 in rc:
print(rc1[0],"t",rc1[1],"t",rc1[5],"t",rc1[4],"t",rc1[2],"t",rc1[3],"t",rc1[6],"t",rc1
[7],"t",rc1[8],"t",rc1[9])
input("--------------------press the key---------------------------------")
os.system('cls')
28. C.close()
mydb.close()
return rc
except:
mydb.close()
#----search and display Product by type
def showProdtype():
try:
mydb=pymysql.connect(host="localhost", user="root", passwd="",
database="carshop")
C=mydb.cursor()
print("(SEDAN/COUPE/SPORTS CAR/STATION
WAGON/HATCHBACK/CONVERTIBLE/)")
print("SPORT-UTILITY VEHICLE (SUV)/MINIVAN/PICKUP TRUCK")
scid=input("Enter the Car type:")
Query=("SELECT * FROM carinfo WHERE type=%s")
data=(scid,)
C.execute(Query,data)
rc=C.fetchall()
if rc:
print("CARIDtCAR-
NAMEtPRICEtQUANTITYtTYPEtBRANDtDESCRIPTIONtENGINETYPEt
MODELNOtCOLOUR")
for rc1 in rc:
print(rc1[0],"t",rc1[1],"t",rc1[5],"t",rc1[4],"t",rc1[2],"t",rc1[3],"t",rc1[6],"t",rc1
[7],"t",rc1[8],"t",rc1[9])
input("--------------------press the key---------------------------------")
os.system('cls')
C.close()
mydb.close()
return rc
except:
29. mydb.close()
#----search and display Product by brand
def showProdcompy():
try:
mydb=pymysql.connect(host="localhost", user="root", passwd="",
database="carshop")
C=mydb.cursor()
print("Lexus/Kia/Subaru/Mazda/Skoda/Toyota/Honda/Peugeot/Alfa
Romeo/Volvo")
print("Nissan/Jaguar/Hyundai/SEAT/Renault/Mitsubishi/Suzuki/Volkswagen")
print("MG/Audi/Fiat/Ford/Land Rover/BMW/Mercedes-Benz")
scid=input("Enter the Car Company name:")
Query=("SELECT * FROM carinfo WHERE company=%s")
data=(scid,)
C.execute(Query,data)
rc=C.fetchall()
if rc:
print("CARIDtCAR-
NAMEtPRICEtQUANTITYtTYPEtBRANDtDESCRIPTIONtENGINETYPEt
MODELNOtCOLOUR")
for rc1 in rc:
print(rc1[0],"t",rc1[1],"t",rc1[5],"t",rc1[4],"t",rc1[2],"t",rc1[3],"t",rc1[6],"t",rc1
[7],"t",rc1[8],"t",rc1[9])
input("--------------------press the key---------------------------------")
os.system('cls')
C.close()
mydb.close()
return rc
except:
mydb.close()
#----search and display Product by Engine type
30. def showProdEnginetype():
try:
mydb=pymysql.connect(host="localhost", user="root", passwd="",
database="carshop")
C=mydb.cursor()
scid=input("Enter the Car Engine type(Petrol/Diesel):")
Query=("SELECT * FROM carinfo WHERE enginetype=%s")
data=(scid,)
C.execute(Query,data)
rc=C.fetchall()
if rc:
print("CARIDtCAR-
NAMEtPRICEtQUANTITYtTYPEtBRANDtDESCRIPTIONtENGINETYPEt
MODELNOtCOLOUR")
for rc1 in rc:
print(rc1[0],"t",rc1[1],"t",rc1[5],"t",rc1[4],"t",rc1[2],"t",rc1[3],"t",rc1[6],"t",rc1
[7],"t",rc1[8],"t",rc1[9])
input("--------------------press the key---------------------------------")
os.system('cls')
C.close()
mydb.close()
return rc
except:
mydb.close()
#----search and display Product by Model no
def showProdModelno():
try:
mydb=pymysql.connect(host="localhost", user="root", passwd="",
database="carshop")
C=mydb.cursor()
scid=input("Enter the Car Model No")
Query=("SELECT * FROM carinfo WHERE modelno=%s")
data=(scid,)
C.execute(Query,data)
31. rc=C.fetchall()
if rc:
print("CARIDtCAR-
NAMEtPRICEtQUANTITYtTYPEtBRANDtDESCRIPTIONtENGINETYPEt
MODELNOtCOLOUR")
for rc1 in rc:
print(rc1[0],"t",rc1[1],"t",rc1[5],"t",rc1[4],"t",rc1[2],"t",rc1[3],"t",rc1[6],"t",rc1
[7],"t",rc1[8],"t",rc1[9])
input("--------------------press the key---------------------------------")
os.system('cls')
C.close()
mydb.close()
return rc
except:
mydb.close()
#----search and display Product by Car colour
def showProdColour():
try:
mydb=pymysql.connect(host="localhost", user="root", passwd="",
database="carshop")
C=mydb.cursor()
scid=input("Enter the Car Colour")
Query=("SELECT * FROM carinfo WHERE colour=%s")
data=(scid,)
C.execute(Query,data)
rc=C.fetchall()
if rc:
print("CARIDtCAR-
NAMEtPRICEtQUANTITYtTYPEtBRANDtDESCRIPTIONtENGINETYPEt
MODELNOtCOLOUR")
for rc1 in rc:
33. print(mydb)
C=mydb.cursor()
netamt=0
Query=("INSERT INTO carinvoice
VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s)")
invono=int(input("Enter the invoice no:"))
dosp=input("Enter the date of sale(yyyy-mm-dd)")
custnm=input("Enter the Customer Name:")
mob=input("enter the mobile no:")
while True:
no=givemeno()
invoiceid=no
gno=int(input("Enter the Car no"))
rc1=prodsearchdata(gno)
if rc1:
qt=int(input("Enter the quantity:"))
pr=int(input("Enter the price"))
netamt=pr*qt
data=(invoiceid,gno,custnm,mob,qt,'SALE',invono,netamt,dosp)
C.execute(Query,data)
mydb.commit()
print(C.rowcount, "record(s) affected")
changeqty(gno,qt,'S')
else:
print("No such Car's record please try again")
ch=input("Do you want to add more Car's to sell(y/n)")
if(ch=='n' or ch=='N'):
break
C.close()
mydb.close()
except:
mydb.close()
34. #------Update the qty----
def changeqty(mno,qt,ch):
try:
mydb=pymysql.connect(host="localhost", user="root", passwd="",
database="carshop")
C=mydb.cursor()
if(ch=='S'):
Query=("UPDATE carinfo SET qty=qty-%s WHERE carid=%s")
elif(ch=='A'):
Query=("UPDATE carinfo SET qty=qty+%s WHERE carid=%s")
data=(qt,mno)
C.execute(Query,data)
mydb.commit()
print(C.rowcount, "record(s) affected")
C.close()
mydb.close()
except:
mydb.close()
#-------invoice to Purchase the Car's
def Car_Purchase():
try:
mydb=pymysql.connect(host="localhost", user="root", passwd="",
database="carshop")
print(mydb)
C=mydb.cursor()
netamt=0
Query=("INSERT INTO carinvoice
VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s)")
invono=int(input("Enter the invoice no:"))
dosp=input("Enter the date of sale")
custnm=input("Enter the Distributer Name:")
mob=input("enter the mobile no:")
35. while True:
no=givemeno()
invoiceid=no
gno=int(input("Enter the CAR NO"))
rc1=prodsearchdata(gno)
if rc1:
qt=int(input("Enter the Car quantity:"))
pr=int(input("Enter the Car price"))
netamt=pr*qt
data=(invoiceid,gno,custnm,mob,qt,'PURCHASE',invono,netamt,dosp)
C.execute(Query,data)
mydb.commit()
print(C.rowcount, "record(s) affected")
changeqty(gno,qt,'A')
else:
print("No such Car record please try again")
ch=input("Do you want to add more Car to Purchase(y/n)")
if(ch=='n' or ch=='N'):
break
C.close()
mydb.close()
except:
mydb.close()
#-- to generate the autonumbers
def givemeno():
count=0
mydb=pymysql.connect(host="localhost", user="root", passwd="",
database="carshop")
print(mydb)
mycursor=mydb.cursor()
query=("SELECT COUNT(*) FROM carinvoice")
q=("SELECT MAX(carinvoid) FROM carinvoice")
36. mycursor.execute(query)
rc=mycursor.fetchone()
tmp=rc[0]
print(tmp)
if tmp==0:
count=1
else:
q=("SELECT MAX(carinvoid) FROM carinvoice")
mycursor.execute(q)
rc=mycursor.fetchone()
count=rc[0]
count=count+1
mycursor.close()
mydb.close()
return count
File Name: carmainpage.py
import carmenu as CM
import sys
import carshop as GM
def invoice_show():
choice1=CM.carinvoicereports()
while True:
if choice1==1:
GM.searchCOSinvoice()
break
elif choice1==2:
GM.searchPURinvoice()
break
elif choice1==3:
GM.displayinvoiceSP()
break
elif choice1==4:
37. GM.displayinvoiceSPdate()
break
elif choice1==5:
main()
else:
#print("Enter the correct choice")
input("Enter any key to continue")
choice1=0
invoice_show()
def modifycarshow():
choice1=" "
choice1=CM.modifyCar_menu()
while True:
if choice1==1:
GM.search_mod_Prodnm()
break
elif choice1==2:
#-------2.MODIFY PRICE
GM.search_mod_price()
break
elif choice1==3:
#-------3.MODIFY QUANTITY
GM.search_mod_qty()
break
elif choice1==4:
#-------4.MODIFY type
GM.search_mod_type()
break
elif choice1==5:
#-------5.MODIFY
43. OUTPUTS
**********CAR*******SHOP****SYSTEM******PROJECT*******************
******************************************************************
=================MAIN MENU====================
01. CAR'S REPORT GENERATOR
02. ADMINISTRATOR
03. EXIT
==============================================
Please Select Your Option (1-3) 2
=================ADMIN MENU====================
1.CAR'S MENU
2.CAR'S SALE/PURCHASE
3.BACK TO MAIN MENU
Please Enter Your Choice (1-3) 1
===========CAR'S INFO MENU===========
01. ADD CAR'S INFORMATION
02. MODIFY CAR'S INFORMATION
03. DELETE CAR'S INFORMATION
04. BACK TO MAIN
==============================================
Please Select Your Option (1-4)
If choice: 1
=================CAR'S ADD MENU====================
1.CREATE CAR'S DETAILS
2.DISPLAY ALL CAR'S DETAILS
3.SEARCH RECORD BY CAR'S PRODUCT ID
4.SEARCH RECORD BY CAR'S PRODUCT NAME
5.SEARCH RECORD BY PRICE
6.SEARCH RECORD BY TYPE
7.SEARCH RECORD BY COMPANY
8.SEARCH RECORD BY ENGINE TYPE
9.SEARCH RECORD BY MODEL NO
10.SEARCH RECORD BY CAR COLOUR
11.BACK TO MAIN MENU
Please Enter Your Choice (1-11)1
Enter Car NameDFX-202
44. SEDAN/COUPE/SPORTS CAR/STATION
WAGON/HATCHBACK/CONVERTIBLE/SPORT-UTILITY VEHICLE
(SUV)/MINIVAN/PICKUP TRUCK
Enter Car Type:SEDAN
Lexus/Kia/Subaru/Mazda/Skoda/Toyota/Honda/Peugeot/Alfa Romeo/Volvo Nissan/ Jaguar/
Hyundai/ SEAT/ Renault/Mitsubishi/Suzuki/Volkswagen/MG/Audi/Fiat/Ford/Land
Rover/BMW/Mercedes-Benz
Enter Car Company nameSkoda
Enter quantity2
Enter Price950000
Enter Product descriptionSEDAN DFX-200
Enter Engine Type(Petrol/desiel)Petrol
Enter Model NoDFX-2020
Enter Car Colourred
If choice 2:
CARID CAR-NAME PRICE QUANTITY TYPE BRAND DESCRIPTION
ENGINETYPE MODELNO COLOUR
4001 NXXZ-200 550000 5 Coupe BMW Coupe desc Diesel K4012
red
4002 Q-23 857500 1 COUPE Jaguar jaguar 4x Diesel AW2313
blue
4004 WZ 950000 5 SUV Ford suv Diesel SUV140 blue
4005 DFX-202 950000 2 SEDAN Skoda SEDAN DFX-200 Petrol DFX-2020
red
If Choice 3:
Enter the CAR ID:4001
CARID CAR-NAME PRICE QUANTITY TYPE BRAND
DESCRIPTION ENGINETYPE MODELNO COLOUR
4001 NXXZ-200 550000 5 Coupe BMW Coupe desc
Diesel K4012 red
If Choice 4:
Enter the Car Name:wz
CARID CAR-NAME PRICE QUANTITY TYPE BRAND
DESCRIPTION ENGINETYPE MODELNO COLOUR
4004 wz 950000 5 SUV Ford suv diesel
SUV140 blue
If Choice 5:
Enter the Price lowest value:800000 Enter the Price Highest value:900000
45. CARID CAR-NAME PRICE QUANTITY TYPE BRAND
DESCRIPTION ENGINETYPE MODELNO COLOUR
4002 Q-23 857500 1 COUPE Jaguar jaguar 4x Desiel
AW2313 blue
If Choice 6:
Enter the Car type:SEDAN
CARID CAR-NAME PRICE QUANTITY TYPE BRAND
DESCRIPTION ENGINETYPE MODELNO COLOUR
4005 DFX-202 950000 2 SEDAN Skoda SEDAN DFX-200
Petrol DFX-2020 red
If Choice 7:
Enter the Car Company name:skoda
CARID CAR-NAME PRICE QUANTITY TYPE BRAND
DESCRIPTION ENGINETYPE MODELNO COLOUR
4005 DFX-202 950000 2 SEDAN Skoda SEDAN DFX-200
Petrol DFX-2020 red
If Choice 8:
Enter the Car Engine type(Petrol/Diesel):Petrol
CARID CAR-NAME PRICE QUANTITY TYPE BRAND
DESCRIPTION ENGINETYPE MODELNO COLOUR
4005 DFX-202 950000 2 SEDAN Skoda SEDAN DFX-200
Petrol DFX-2020 red
If Choice 9:
Enter the Car Model NoDFX-2020
CARID CAR-NAME PRICE QUANTITY TYPEBRAND
DESCRIPTION ENGINETYPE MODELNO COLOUR
4005 DFX-202 950000 2 SEDAN Skoda SEDAN DFX-200
Petrol DFX-2020 red
If choice is Modify:
===============MODIFY MENU==================
1.MODIFY CAR'S PRODUCT NAME
2.MODIFY PRICE
3.MODIFY QUANTITY
4.MODIFY TYPE
5.MODIFY COMPANY
6.MODIFY DESCRIPTION
7-MODIFY ENGINE TYPE
8-MODIFY MODELNO
9-MODIFY COLOUR
46. 10.BACK TO MAIN MENU
Please Enter Your Choice (1-10)
If choice is Invoice Report:
1.SEARCH AND PRINT SALE INVOICE
2.SEARCH AND PRINT PURCHASE INVOICE
3.DISPLAY ALL INVOICE(SALE/PURCHASE)
4.SEARCH INVOICE BY DATEOFINVOICE
5.BACK TO MAIN MENU
Please Enter Your Choice (1-5)
If choice is Invoice:
===============SALE AND PURCHASE MENU==================
1.CAR'S PRODUCT SOLD OUT
2.CAR'S PRODUCT PURCHASED
3.BACK TO MAIN MENU
Please Enter Your Choice (1-3)
47. REQUIREMENTS
HARDWARE REQUIRED
Printer, to print the required documents of the project
Processor : intel or any other
Ram : 512 MB or above
Harddisk : 80 GB or more
SOFTWARE REQUIRED
Operating system : Windows 7 or above
Python 2 or above
IDE Atom, PyCharm, Thonny, or any other.
Database: MySQL
WebServer: XAMPP
48. ADVANTAGES AND DISADVANTAGES
ADVANTAGE:
Customer does not have to wait as the searching a car in software is easy
Shop owner does not need to worry about buying and selling of products
This software reduces paper work.
It is easy to handle customer’s record and the details of purchased of products and selling
of products.
This software saves the time.
Information of the product sold or purchased store in a database separately.
DISADVANTAGES:
Although we have put best effort to make the software flexible, easy to operate but
limitations cannot be ruled out even by us. It is character user interface based software, so it
is not much user friendly. Online facility is not available.
49. CONCLUSION
The car shop system project is easy to handle project.This
applications provides enter , edit ,delete and access all the
information easily.Our project satisfy he needs of car shops
and the requirements of the organization.
BIBLIOGRAPHY
www.mysql.org
www.google.co.in
www.w3schools.com
www.tutorialspoint.com
www.javapoint.com
www.programiz.com
www.guru99.com