Computer Investigatory Project (2)
Computer Investigatory Project (2)
TOPIC MANAGEMENT
SYSTEM
ABHINAV BHARATI
HIGH SCHOOL
COMPUTER SCIENCE
INVESTIGATORY PROJECT
2024-25
NAME: AIHIK MAJUMDER
CLASS : XII SECTION : B
BOARD ROLL NO. :
Certificate
CLASS: XII-B YEAR: 2024-2025
Date:
______________________________________ ________________________________________
________________________________
External Examiner's Signature
ACKNOWLEDGEMENT
I want to express my sincere thanks to my respected
Principal Ma'am, Mrs. Sraboni Samanta, and
Computer science teacher , Mr. Subhajit Ghosh, for
giving me a chance to research and make a
project on the topic "Cloth Store Management
System" and it has been my pleasure doing so. I
would also like to express my gratitude to my
school ABHINAV BHARATI HIGH SCHOOL for
letting me use the school laboratory.
INDEX
SL NO. Topic
1 Brief Overview of Project
4 Advantages of Project
5 Limitations of Project
7 Output Screens
9 Bibliography
BRIEF OVERVIEW OF PROJECT..
The main objective of the python project on Cloth store management is to manage
the details of sales, discounts, payments, products, and inventory digitally.
It tracks all the details about stocks, products, and inventory; it also prints
various reports as per input given by the user.
Data file handling has been effectively used in the program. The database is
a collection of interrelated data to serve multiple applications. That is
database programs create files of information. So we see that files are worked
with most, inside the program.
DBMS: The software required for the management of data is called as DBMS.
It has3 models:
• Relation model
• Hierarchical model
• Network model
CHARACTERISTICS OF DBMS:
• Data sharing
• Data standardization
• Sequential file
• Serial file
• Text file
• Binary File
NEED OF COMPUTERIZATION
LIMITS
1. Excel export has not been developed for stocks and products.
2. The transactions are executed in offline mode only.
3. Online transactions for sales, discounts, or other data modifications are
not possible.
4. Offline reports of sales, products, discounts and stocks cannot be
generated due to batch mode execution.
Source code screening:
DBMS: MySQL
Host: local host
User: root
Pass:root
Database: fashion
Table Structure:
1. Product table
2. Purchase table
3. Stock table
4. Purchase table
Python code:
import os
import platform
import mysql.connector
import pandas as pd
import datetime
mydb=mysql.connector.connect(host="localhost",\
user="root",\
passwd="root",\
database="fashion")
mycursor=mydb.cursor()
def AddProduct():
L=[]
stk=[]
pid=input("Enter the Product ID : ")
L.append(pid)
IName=input("Enter the Product Name : ")
L.append(IName)
brnd=input("Enter the Product Brand Name : ")
L.append(brnd)
fr=input("Enter Male/Female/Kids : ")
L.append(fr)
sn=input("Enter Winter/Summer : ")
L.append(sn)
rate=int(input("Enter the Rates for Product :"))
L.append(rate)
product=(L)
sql="Insert into product (product_id,PName,brand,Product_for,Season,rate)values(%s,%s,%s,
%s,%s,%s)"
mycursor.execute(sql,product)
mydb.commit()
stk.append(pid)
stk.append(0)
stk.append("No")
st=(stk)
sql="insert into stock(item_id, Instock, status) values(%s,%s,%s)"
mycursor.execute(sql,st)
mydb.commit()
print("One Product inserted ")
def EditProduct():
pid=input("Enter product ID to be edited : ")
sql="select * from product where product_id=%s"
ed=(pid,)
mycursor.execute(sql,ed)
res=mycursor.fetchall()
for x in res:
print(x)
print("")
fld=input("Enter the field which you want to edit : ")
val=input("Enter the value you want to set : ")
sql="Update product set " + fld +"='" + val + "' where product_id='" + pid + "'"
sq=sql
mycursor.execute(sql)
print("Editing Don : ")
print("After correction the record is : ")
sql="select * from product where product_id=%s"
ed=(pid,)
mycursor.execute(sql,ed)
res=mycursor.fetchall()
for x in res:
print(x)
mydb.commit()
def DelProduct():
pid=input("Enter the Product)id to be deleted : ")
sql="delete from sales where item_id=%s"
id=(pid,)
mycursor.execute(sql,id)
mydb.commit()
sql="delete from purchase where item_id=%s"
mycursor.execute(sql,id)
mydb.commit()
sql="delete from stock where item_id=%s"
mycursor.execute(sql,id)
mydb.commit()
sql="delete from product where product_id=%s"
mycursor.execute(sql,id)
mydb.commit()
print("One Item Deleted")
def ViewProduct():
print("Display Menu: Select the category to display the data")
print("1. All Details")
print("2. Product Name:")
print("3. Product Brand:")
print("4. Product For:")
print("5. Product Season:")
print("6. Product ID:")
x=0
ch=int(input("Enter your choice to display : "))
if ch==1:
sql="select * from product"
mycursor.execute(sql)
res=mycursor.fetchall()
for x in res:
print(x)
x=1
elif ch==2:
var='PName'
val=input("Enter the name of Product : ")
elif ch==3:
var='brand'
val=input("Enter the name of Brand : ")
elif ch==4:
var='Product_for'
val=input("Enter Male/Femal/Kids : ")
elif ch==5:
var='season'
def PurchaseProduct():
mn=""
dy=""
now=datetime.datetime.now()
purchaseID="P"+str(now.year)+str(now.month)+str(now.day)+str(now.hour)+str(now.minute)
+str(now.second)
L=[]
Lst=[]
L.append(purchaseID)
itemId=input("Enter Product ID : ")
L.append(itemId)
itemNo=int(input("Enter the number of Items : "))
L.append(itemNo)
sql="select rate from product where product_id=%s"
pid=(itemId,)
mycursor.execute(sql,pid)
res=mycursor.fetchone()
for x in res:
print("rate is : ", x)
amount=x*itemNo
print("Amount is :", amount)
L.append(amount)
mnth=now.month
if mnth<=9:
mn="0"+str(mnth)
else:
mn=str(mnth)
day=now.day
if day<=9:
dy="0"+str(day)
else:
dy=str(day)
dt=str(now.year)+"-"+mn+"-"+dy
L.append(dt)
tp=(L)
sql="insert into
purchase(purchase_id,item_id,no_of_items,amount,Purchase_date)values(%s,%s,%s,%s,
%s)"
mycursor.execute(sql,tp)
mydb.commit()
sql="Select Instock from stock where item_id=%s"
mycursor.execute(sql,pid)
res=mycursor.fetchall()
status="No"
for x in res:
print(x)
instock=x[0]+itemNo
if instock>0:
status="Yes"
Lst.append(instock)
Lst.append(status)
Lst.append(itemId)
tp=(Lst)
sql="update stock set instock=%s,status=%s where item_id=%s"
mycursor.execute(sql,tp)
mydb.commit()
print("1 Item purchased and saved in Database")
def ViewPurchase():
item=input("Enter Product Name : ")
sql="select product.product_id,
product.PName,product.brand,purchase.no_of_items,purchase.purchase_date,purchase.am
ount from product INNER JOIN purchase ON product.product_id=purchase.item_id and
product.PName=%s"
itm=(item,)
mycursor.execute(sql,itm)
res=mycursor.fetchall()
for x in res:
print(x)
def ViewStock():
item=input("Enter Product Name : ")
sql="select product.product_id,product.PName,stock.Instock,\
stock.status from stock, product where \
product.product_id=stock.item_id and product.PName=%s"
itm=(item,)
mycursor.execute(sql,itm)
res=mycursor.fetchall()
for x in res:
print(x)
def SaleProduct():
now=datetime.datetime.now()
saleID="S"+str(now.year)+str(now.month)+str(now.day)+str(now.hour)+str(now.minute)
+str(now.second)
L=[]
L.append(saleID)
itemId=input("Enter Product ID : ")
L.append(itemId)
itemNo=int(input("Enter the number of Items : "))
L.append(itemNo)
sql="select rate from product where product_id=%s"
pid=(itemId,)
mycursor.execute(sql,pid)
res=mycursor.fetchall()
for x in res:
print("The rate of item is :",x)
dis=int(input("Enter the discount : "))
saleRate=x[0]-(x[0]*dis/100)
L.append(saleRate)
amount=itemNo*saleRate
L.append(amount)
mnth=now.month
if mnth<=9:
mn="0"+str(mnth)
else:
mn=str(mnth)
day=now.day
if day<=9:
dy="0"+str(day)
else:
dy=str(day)
dt=str(now.year)+"-"+mn+"-"+dy
L.append(dt)
tp=(L)
sql="insert into sales (sale_id, item_id,no_of_item_sold,\
sale_rate,amount,date_of_sale) values(%s,%s,%s,%s,%s,%s)"
mycursor.execute(sql,tp)
mydb.commit()
sql="Select Instock from stock where item_id=%s"
mycursor.execute(sql,pid)
res=mycursor.fetchall()
for x in res:
print("Total Items in Stock are : ",x)
instock=x[0]-itemNo
if instock>0:
status="Yes"
tp=(instock,status,itemId)
sql="update stock set instock=%s,status=%s where item_id=%s"
print("Remaining Items in Stock are : ",instock)
mycursor.execute(sql,tp)
mydb.commit()
def ViewSales():
item=input("Enter Product Name : ")
sql="select product.product_id, product.PName,product.brand,\
sales.no_of_item_sold,sales.date_of_sale,sales.amount \
from sales, product where product.product_id=sales.item_id \
and product.PName=%s"
itm=(item,)
mycursor.execute(sql,itm)
res=mycursor.fetchall()
for x in res:
print(x)
MenuSet()
def runAgain():
runAgn = input("\nwant To Run Again Y/n: ")
while(runAgn.lower() == 'y'):
if(platform.system() == "Windows"):
print(os.system('cls'))
else:
print(os.system('clear'))
MenuSet()
runAgn = input("\nwant To Run Again Y/n: ")
runAgain()
Output of code… :
Main menu:
Add product:
Edit product:
Delete product:
View product:
Purchase product:
View purchase:
Sale item:
View sales details:
Future enhancements
1. The process of gathering information, diagnosing the
problems, then interpreting facts is known as System analysis. It
includes recommending system improvements needed, based on
the same data.
BOOKS REFFERED:
1.Introduction to Python (class:xi),Sumita Arora
1.