IP-Project-Report_Format (Repaired)
IP-Project-Report_Format (Repaired)
ALWAL
A Project REPORT
On
CAR SHOW ROOM SYSTEM
For
AISSCE 2022-2023 Examination
As a part of the Informatics Practices Course
(065)
SUBMITTED BY:
Page | 1
PALLAVI MODEL SCHOOL, ALWAL
CERTIFICATE
in requirement of the fulfillment of the ‘XII’ AISSCE - 2022 for the subject
____________________________ during the Academic year 2022-2023
under the guidance of ______________________________.
_____________________ _____________________
Page | 2
INDEX
SN PAGE
CONTENT
O NO
1 Acknowledgement 3
2 Introduction 4
3 Aim of the Project 5
4 Application Software 6
System Requirements (Hardware and
5 7
Software used)
6 Application Coding 8
7 Source Code 9
8 MySQL Tables 19
9 Output 20
10 List of References 21
ACKNOWLEDGEMENT
Page | 3
I extend my deepest gratitude to the principal Mrs. Sunir Nagi
and the management for their cooperation and motivation extended
to inspire me in completing my project report successfully.
We must thank our classmates for their timely help and support
for completion of this project within a stipulated period of time.
Page | 4
INTRODUCTION
This software project is developed to automate the
functionalities of car showroom. The purpose of the software project
is to develop the Management Information System (MIS) to
automate the record keeping of cars in the showroom with a view to
enhance the decision making of the functionaries.
Page | 5
AIM OF THE PROJECT
The aim of this project is to improve the efficiency of the Car
Showroom System. The purpose is to provide a system that helps
for storing Car details like, "Product name", "Product ID" etc. in the
MySQL database.
By using this program, the user can process and maintain the
car details. With the backend being managed by the SQL it ensures
security and privacy of the car showroom.
Page | 6
APPLICATION SOFTWARE
Page | 7
SYSTEM REQUIREMENTS
(HARDWARE AND SOFTWARE USED)
HARDWARE:
SOFTWARE:
Page | 8
APPLICATION CODING
Page | 9
SOURCE CODE
import mysql.connector as con
from tkinter import *
from tkinter import ttk
from tabulate import tabulate
import matplotlib.pyplot as plt
from collections import OrderedDict
c = 0
window = Tk()
notebook = ttk.Notebook(window)
option_see = [
"Whole data",
"Particular data"
]
option_table = [
"Sales",
"Cust",
"Product"
]
manage_table = [
"Add Data",
"Delete Data",
"Update Data"
]
columns = [["S.no", "Cust ID", "Product name", "Product ID", "Sale Price", "Date of
sale"],
["Cust ID", "Customer Name", "Phone", "Address", "Aadhaar number"],
["Product ID", "Product Name", "Price"]]
tables = StringVar()
tables.set("Sales")
Page | 10
tables2 = StringVar()
tables2.set("Sales")
select = StringVar()
select.set("Whole data")
manage = StringVar()
manage.set("Add data")
def report_maker():
cursor.execute("SELECT SUM(sale_price), MONTHNAME(date_sales) FROM Sales GROUP BY
MONTHNAME(date_sales);")
plot_data = cursor.fetchall()
print(plot_data)
plotter = {}
for i in plot_data:
plotter[i[1]] = i[0]
print(plotter)
month_names = list(plotter.keys())
values = list(plotter.values())
plt.bar(range(len(plotter)), values, tick_label=month_names)
plt.show()
def particular(e):
if select.get() == "Particular data":
enter.config(state=NORMAL)
name = tables.get()
if name == "Sales":
l1.config(text="Enter the s.no")
if name == "Cust":
l1.config(text="Enter the cust_id")
if name == "Product":
l1.config(text="Enter the product id")
def creater():
global c
table_name = tables.get()
if select.get() == "Whole data":
if table_name == "Sales":
cursor.execute("SELECT * FROM Sales;")
c = 0
if table_name == "Cust":
cursor.execute("SELECT * FROM Cust;")
c = 1
if table_name == "Product":
cursor.execute("SELECT * FROM Product;")
Page | 11
c = 2
data = cursor.fetchall()
if data == []:
l = []
for r in range(0, len(columns[c])):
r = "None"
l.append(r)
data = [l]
print(data)
j = []
for i in data:
i = list(i)
j.append(i)
print(j)
tab = tabulate(j, headers=columns[c], tablefmt="grid", numalign="left",
stralign="left")
print(tab)
data_label.config(text=tab)
def manager(e):
if manage.get() == "Update Data":
name = tables2.get()
if name == "Sales":
label1.config(text="Enter the s.no of data to change")
enter1.config(state=NORMAL)
label2.config(text="Enter the new sale price")
enter2.config(state=NORMAL)
enter3.config(state=DISABLED)
enter4.config(state=DISABLED)
enter5.config(state=DISABLED)
enter6.config(state=DISABLED)
label3.config(text="")
label4.config(text="")
label5.config(text="")
label6.config(text="")
if name == "Cust":
label1.config(text="Enter the cust id of data to change")
Page | 12
enter1.config(state=NORMAL)
label2.config(text="Enter the new customer name")
enter2.config(state=NORMAL)
enter3.config(state=DISABLED)
enter4.config(state=DISABLED)
enter5.config(state=DISABLED)
enter6.config(state=DISABLED)
label3.config(text="")
label4.config(text="")
label5.config(text="")
label6.config(text="")
if name == "Product":
label1.config(text="Enter the Product id of data to change")
enter1.config(state=NORMAL)
label2.config(text="Enter the new product price")
enter2.config(state=NORMAL)
enter3.config(state=DISABLED)
enter4.config(state=DISABLED)
enter5.config(state=DISABLED)
enter6.config(state=DISABLED)
label3.config(text="")
label4.config(text="")
label5.config(text="")
label6.config(text="")
if name == "Cust":
label1.config(text="Enter the cust id of data to delete")
enter1.config(state=NORMAL)
enter2.config(state=DISABLED)
enter3.config(state=DISABLED)
enter4.config(state=DISABLED)
enter5.config(state=DISABLED)
enter6.config(state=DISABLED)
label2.config(text="")
label3.config(text="")
label4.config(text="")
label5.config(text="")
label6.config(text="")
if name == "Product":
Page | 13
label1.config(text="Enter the product id of data to delete")
enter1.config(state=NORMAL)
enter2.config(state=DISABLED)
enter3.config(state=DISABLED)
enter4.config(state=DISABLED)
enter5.config(state=DISABLED)
enter6.config(state=DISABLED)
label2.config(text="")
label3.config(text="")
label4.config(text="")
label5.config(text="")
label6.config(text="")
if name == "Cust":
label1.config(text="Enter the cust id")
enter1.config(state=NORMAL)
label2.config(text="Enter the customer name")
enter2.config(state=NORMAL)
enter3.config(state=NORMAL)
enter4.config(state=NORMAL)
enter5.config(state=NORMAL)
enter6.config(state=DISABLED)
label3.config(text="Enter the custome phone no.")
label4.config(text="Enter the cust_add")
label5.config(text="Enter the customer aadhaar no.")
label6.config(text="")
if name == "Product":
label1.config(text="Enter the Product ")
enter1.config(state=NORMAL)
label2.config(text="Enter the Product Name")
enter2.config(state=NORMAL)
enter3.config(state=NORMAL)
enter4.config(state=DISABLED)
enter5.config(state=DISABLED)
enter6.config(state=DISABLED)
label3.config(text="Enter the Product Price")
label4.config(text="")
label5.config(text="")
label6.config(text="")
Page | 14
def action():
if manage.get() == "Update Data":
name = tables2.get()
if name == "Sales":
r = enter1.get()
e = enter2.get()
cursor.execute("UPDATE Sales SET sale_price = %s where s_no = %s;" % (e,
r))
if name == "Cust":
r = enter1.get()
e = enter2.get()
cursor.execute("UPDATE Cust SET cust_name = %s where cust_id = %s;" % (e,
r))
if name == "Product":
r = enter1.get()
e = enter2.get()
cursor.execute("UPDATE Product SET price = %s where product_id = %s;" %
(e, r))
if name == "Cust":
r = enter1.get()
cursor.execute("DELETE FROM Cust where cust_id = %s;" % r)
if name == "Product":
r = enter1.get()
cursor.execute("DELETE FROM Product where product_id = %s;" % r)
if name == "Cust":
r = enter1.get()
e = enter2.get()
f = enter3.get()
g = enter4.get()
h = enter5.get()
cursor.execute("INSERT INTO Cust VALUES(%s, %s, %s , %s, %s);" % (r, e, f,
g, h))
Page | 15
if name == "Product":
r = enter1.get()
e = enter2.get()
f = enter3.get()
cursor.execute("INSERT INTO Product VALUES(%s, %s, %s);" % (r, e, f))
for i in list_databases:
if i == ("project", ):
cursor.execute("USE project")
cursor.execute("SHOW Tables")
list_tables = cursor.fetchall()
print(list_tables)
if list_tables.count(('sales',)) == 0:
cursor.execute("CREATE TABLE Sales(s_no char(5) PRIMARY KEY, cust_id
char(5) NOT NULL, Product_name varchar(100), Product_id char(20) NOT NULL, sale_price
int NOT NULL, date_sales varchar(50));")
if list_tables.count(("cust",)) == 0:
cursor.execute("CREATE TABLE Cust(cust_id char(5) PRIMARY KEY, cust_name
varchar(50), cust_ph varchar(10), cust_add varchar(250), cust_aadhaar_no
varchar(15));")
if list_tables.count(("product",)) == 0:
cursor.execute("CREATE TABLE Product(Product_id char(20) PRIMARY KEY,
Product_name varchar(100), price int);")
else:
pass
l1 = Label(display_data, text="")
l1.pack(anchor=W)
Page | 16
Button(display_data, text="show data", command=creater).pack()
# ----------------------------------------------------Manage
Data-------------------------------------------------------
menu3 = OptionMenu(manage_data, tables2, *option_table)
menu3.pack(anchor=W)
Page | 17
take_button.pack(anchor=N)
# --------------------------------------------------Generate Report
----------------------------------------------------
Label(report, text="", pady=100, padx=500).pack()
window.mainloop()
connected.close()
Page | 18
MYSQL TABLE/S
Page | 19
OUTPUTS
Page | 20
LIST OF REFERENCES
● NCERT IP TEXTBOOK
● INTERNET (GOOGLE)
● GOOGLE IMAGES
Page | 21