0% found this document useful (0 votes)
2 views

Information practices project file on python

This document outlines an Investigatory Project completed by a Class XII student on a Python-based fashion store management system. The project aims to digitize the management of sales, discounts, payments, products, and inventory, while detailing software and hardware requirements, advantages, limitations, and source code. It includes various functionalities such as adding, editing, deleting, viewing products, and handling purchases and sales, along with a structured index and acknowledgments.

Uploaded by

kheradevshi005
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Information practices project file on python

This document outlines an Investigatory Project completed by a Class XII student on a Python-based fashion store management system. The project aims to digitize the management of sales, discounts, payments, products, and inventory, while detailing software and hardware requirements, advantages, limitations, and source code. It includes various functionalities such as adding, editing, deleting, viewing products, and handling purchases and sales, along with a structured index and acknowledgments.

Uploaded by

kheradevshi005
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

Name:

Roll no:
CERTIFICATE
CLASS: XII YEAR: 2022-2023

This is to certify that Investigatory Project is


successfully completed by ________________of Class: XII
Roll no. :……………….. for the academic year 2022-2023
in the School Computer lab.

External Examiner Internal Examiner


Signature (Subject Teacher)
Acknowledgement

I, _______________ of class XII would like to express my sincere gratitude to

my Informatics Practices teacher Ms.Gurpreet Kaur, PGT COMPUTER

SCIENCE, for her vital support, guidance and encouragement – without

which this project would not have come forth.

I would also like to express my gratitude to my school Manav Public

School for letting me use the school laboratory.


INDEX
1. Brief Overview of Project

2. Need for Computerisation

3. Software and Hardware requirement

4. Advantages of Project

5. Limitations of Project

6. Source Code of Project

7. Output Screens

8. Future Enhancement of Project

9. Bibliography
BRIEF OVERVIEW OF PROJECT..
The main objective of the python project on fashion store
management is to manage the details of sales, discounts, payments,
products, and inventory digitally.

The project is totally built at administrative end and only


administrator is guaranteed the access.

The purpose of the project is to build an application program to


reduce the manual work for managing the sales, discounts, stock, and
payments.

It tracks all the details about stocks, products, and inventory; it also
prints various reports as per input given by the user.

INPUT DATA AND VALIDATION OF PROJECT


1. All the fields such as sales payments discounts are validated and
does not take invalid values.
2. Each form of sales, discounts, stockcannot accept the blank
values.
3. Avoiding errors in data.
4. Controlling amount of input.

SOFTWARE AND HARDWARE REQUIREMENTS:

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

RELATIONAL MODEL: It’s based on the concept on relation. Relation is


the table that consists of rows and columns. The rows of the table are
called tuple and the columns of the table are called attribute.
Numbers of rows in the table is called as cardinality. Number of
columns in the table is called as degree.

HIERARCHICAL MODEL: In this type of model, we have multiple records


for each record. A particular record has one parent record. No chide
record can exist without parent record. In this, the records are
organized in tree.

NETWORK MODEL: In this, the data is represented by collection of


records and relationship is represented by (ink or association.

CHARACTERISTICS OF DBMS:

• It reduces the redundancy

• Reduction of data in inconsistency

• Data sharing

• Data standardization

DIFFERENT TYPES OF FILES: -BASED ON ACCESS:

• Sequential file

• Serial file

• Random (direct access) file BASED ON STORAGE:-

• Text file

• Binary File
NEED OF COMPUTERISATION
Over the decades computers and fashion have developed gradually,
changed with time, taste and trend. But nobody knew that a time will
come when both these fields will complement each other so well.
Today fashion design has reached new heights by computer aided
methods of design. As a result of which, computer industry has got its
new customer. Computer technology is making waves in the fashion
design zone. From determining textile weaves to sizing designs;
computers are a vital component of the fashion industry. Computer
aided design (CAD) programs reduce the demand for manual
sketches. New software programs continue to replace old manual
skills. Going by the wayside are "old fashioned" flat pattern
construction, pencil sketching and traditional math-based pattern
sizing. Those who lag in math and falter at sketching can now breathe
a little easier.Manually figuring size adjustments and cutting pattern
pieces instils that knowledge. Software programs constantly evolve. A
program used today may be obsolete within several years. Being
trained on today's software does not guarantee it will be used when
you are ready to go out into the field. Understanding calculations is
timeless, as is computer competency. Software, however, shifts
rapidly.
1. It generates the report on sales, discounts and stocks.
2. Provides filter report on payments, inventory and products.
3. We can easily export PDF on sales, products and stocks.
4. Applications can also provide excel export for sales and
discounts.
5. It deals with monitoring the information and transaction of
products.
6. It increases the efficiency of managing sales and discount.
7. It has higher efficiency of editing, adding and updating of
records.
8. Provides the searching facilities on various factors.

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: (Images Bellow)

1. Product table

2. Purchase table

Note: In Purchase table take the purchase ID as varchar (16)


3. Stock table

4. Purchase table

Note: In Purchase table take the sale_id as varchar (16)


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()

defAddProduct():
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 ")

defEditProduct():
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()

defDelProduct():
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")

defViewProduct():
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
elifch==2:
var='PName'
val=input("Enter the name of Product : ")
elifch==3:
var='brand'
val=input("Enter the name of Brand : ")
elifch==4:
var='Product_for'
val=input("Enter Male/Femal/Kids : ")
elifch==5:
var='season'

val=input("Enter the Season : ")


elifch==6:
var='product_id'
val=input("Enter the Product_id : ")
if x==0:
sql="select * from product where " + var + " = %s"
sq=sql
tp=(val,)
mycursor.execute(sq,tp)
res=mycursor.fetchall()
for x in res:
print(x)

defPurchaseProduct():
mn=""
dy=""
now=datetime.datetime.now()
purchaseID="P"+str(now.year)+str(now.month)+str(now.day)+str(now.hour)+str(now.min
ute)+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")

defViewPurchase():
item=input("Enter Product Name : ")
sql="select product.product_id,
product.PName,product.brand,purchase.no_of_items,purchase.purchase_date,purchase.a
mount 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)

defViewStock():
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)

defSaleProduct():
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)

def MenuSet(): #Function For The SFashion Store System


print("Enter 1 : To Add Product ")
print("Enter 2 : To Edit Product ")
print("Enter 3 : To Delete Product ")
print("Enter 4 : To View Product ")
print("Enter 5 : To Purchase Product")
print("Enter 6 : To View Purchases")
print("Enter 7 : To View Stock Detials")
print("Enter 8 : To Sale the item")
print("Enter 9 : To View Sales Detials")
try: #Using Exceptions For Validation
userInput = int(input("Please Select An Above Option: ")) #Will Take Input From User
except ValueError:
exit("\nHy! That's Not A Number") #Error Message
else:
print("\n") #Print New Line
if(userInput == 1):
AddProduct()
elif(userInput == 2):
EditProduct()
elif (userInput==3):
DelProduct()
elif (userInput==4):
ViewProduct()
elif (userInput==5):
PurchaseProduct()
elif (userInput==6):
ViewPurchase()
elif (userInput==7):
ViewStock()
elif (userInput==8):
SaleProduct()
elif (userInput==9):
ViewSales()
else:
print("Enter correct choice. . . ")

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:

View stock details:


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.
2. The system is observed as a whole; the inputs need to
be identified firstly before tuning them and then the
system is subjected to study as a whole to identify the
problem areas.
3. Although tunings any system as a whole is a complex
procedure, but tuning individual statements is not
the best as something that is correct for one input
may hurt another inputs performance.
4. The solutions are given as a proposal. The suggestion
is revised on user request and optimal changes are
made. This loop terminates as soon as the user is
gratified with the proposal.
5. So on the whole, system analysis is done to improve
the system performance by monitoring it and
obtaining the best throughput possible from it.
6. It would provide more and more details of products
which the consumer or the user wants.
Bibliography
SITES REFFERED FOR SOME BASIC INFORMATON:
1. https://www.scribd.com
2. https://www.slideshare.net
3. https://en.wikipedia.org
4. https://www.geeksforgeeks.org/
BOOKS REFFERED:
1. Introduction to Python (class:xi), Sumita Arora
2. Introduction to Python(class:xii), Sumita Arora
and Preeti Arora

Also under the guidance of our subject teacher

You might also like