Uploaded by jayeshpathak0908

ip group project[1]

advertisement
Acknowledgement
I would like to express my special
thanks of gratitude to my teacher Mrs
Gayatri Ghadiali aswell as our
principal sir Mr Sreehari Kulur who
gave me the golden opportunity to do
this wonderful project of informatics
practices
Secondly I would also like to thank my
parentsand friends who helped me a
lot finishing this project within the
limited time.
Name:
BHAVYA MULANI
Class:
12th commerce
Subject:
Infromatics
Practices
Project title:
Automated Super Market
Team members: 1) Maaz
Damania
2) Subhodeep Sengupta
School name: Shree Swaminarayan
Gurukul,CHALA
Submitted to:
Mrs. Gayatri Ghadiali
Project for the year 20222023
Introduction of
The project
This software project is developed to automate the
functionalities of super store. The purpose of the software
project is to develop the Management Information System (MIS)
to automate the record keeping of customer entry, order entry
and item entry with a view to enhance the decision . A MIS
mainly consists of a computerized database, a collection of interrelated tables for a particular subject or purpose, capable to
product different reports relevant to the user. An application
program is tied with the database for easy access and interface to
the database. Using Application program or front-end, we can
store, retrieve and manage all information in proper way. This
software, being simple in design and working, does not require
much of training to users, and can be used as a powerful tool for
automating a super store System.
Objective of
The project
The Objective of the software project is to let students
apply programming knowledge into real world situation
and exposed the students how programming skills helps in
developing a good software. The main objective of the
project on Automated Super store is that Even in the
Absence Of Owner the staff of shop can sell the items to
customer , Add items ,delete items or update items just by
doing some entries. It manages all the information like
Customer Details , Visualisation , Transaction Details ,
and Item Details . The purpose of the project is to build an
application program to reduce the manual work for Sales ,
Purchase ,Addition ,Deletion or Updation Of Items ,
Customer Details , Transaction details.
❖ It manages all the information of Items .
❖It Deals with Visualisations Of Sales Per Year.
❖ It Deals With Monitoring The Information And Data
Analysis of Most Items Purchased By Customer Or Least
Items Purchased By Customer .
❖ It Tracks All The Details About The Items Sold ,
Customer Details Etc.
Hardware and software
reqirement
Hardware:
 Processor : dual core or above
 Hard disk : 40 GB
 Ram : 2gb
 Key board
 Monitor
 Mouse
Software:
 Operating system : windows 10
 Platform : Python Idle 3.10
 Languages : Python
Programme Source
Code
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import datetime as dt
#****************************************************************
def Menu():
print("
Welcome to automated Super Market
print("*****************")
print("
1- Item
print("
2- Customers_Details
print("
3- Transcations
print("
4- Visuallisation
print("
5- Exit
h=int(input("Enter your choice(1-5):"))
print()
if h==1:
Submenu()
elif h==2:
Submenu2()
elif h==3:
Submenu3()
elif h==4:
Submenu4()
else:
")
")
")
")
")
")
print("Thank you visit again")
def Sales_Graph():
bill=pd.read_csv("E:\\bhavya 5\\Ip Project\\Item.csv")
x=bill.Product
y=bill.Price
plt.bar(x,y)
plt.show()
Submenu4()
def Graph2():
df=pd.read_csv("E:\\bhavya 5\\Ip Project\\transaction.csv")
df['Bill_Date']=pd.to_datetime(df['Bill_Date'])
newdf=pd.DataFrame(df.groupby(df['Bill_Date'].dt.month)['Total'].sum(),columns=['Total'])
plt.bar(newdf.index,newdf.Total)
plt.xlabel('month name')
plt.ylabel('Total Sales')
plt.xticks(np.arange(1,13),['jan','feb','mar','apr','may','jun','jul','aug','sep','oct','nov','dec'])
plt.title('monthwise Total Sales')
plt.show()
Submenu4()
def Graph3():
df=pd.read_csv("E:\\bhavya 5\\Ip Project\\transaction.csv")
df['Bill_Date']=pd.to_datetime(df['Bill_Date'])
newdf=pd.DataFrame(df.groupby(df['Bill_Date'].dt.year)['Total'].sum(),columns=['Total'])
print(newdf.index)
plt.bar(newdf.index,newdf.Total)
plt.xlabel('Year')
plt.ylabel('Total Sales')
plt.xticks(newdf.index)
plt.title('yearwise Total Sales')
plt.show()
Submenu4()
#****************************************************************
def Add_Bill():
e='Y'
while e=='Y' or e=='y':
bill=pd.read_csv("E:\\bhavya 5\\Ip Project\\transaction.csv")
cust=pd.read_csv("E:\\bhavya 5\\Ip Project\\Customer.csv",index_col=0)
df=pd.read_csv("Item.csv",index_col=0)
#print(cust)
#print(df)
Bno=(bill.Bill_No).max()+1
dat=input("Enter date(YYYY-MM-DD):")
print(cust)
Cid=int(input("Enter Cutomer_Id"))
if Cid in cust.index:
Cnam=cust.loc[Cid,'Cust_Name']
print("Customer_Name:",Cnam)
else:
print("Wrong Customer_Id")
print("Try Again")
break
if Cid in cust.index:
Cno=cust.loc[Cid,'Cust_Number']
print("Customer_Number:",Cno)
if Cid in cust.index:
Cadd=cust.loc[Cid,'Cust_Address']
print("Customer_Address:",Cadd)
print(df)
Icod=int(input("Enter Item Code:"))
if Icod in df.index:
Inam=df.loc[Icod,'Product']
print("Item_Name:",Inam)
else:
print("Wrong Item_Code")
print("Try Again")
break
Iqty=int(input("Enter Stock:"))
if Icod in df.index:
x=df.loc[Icod,'Stock']
y=x-Iqty
df.loc[Icod,'Stock']=y
if Icod in df.index:
Ipri=df.loc[Icod,'Price']
print("Item_Price:",Ipri)
price=Ipri
print("Total Price:",price*Iqty)
n=Ipri*Iqty
d=int(input("Enter Amt of discount:"))
dis=n-d/100
print("Discount:",d)
gtax=dis*0.18
print("Total TAX:",gtax)
total=dis+gtax
print("Total:",total)
bill.loc[len(bill.Bill_No),:]=[Bno,dat,Cnam,Cno,Cadd,Inam,Iqty,price,n,d,gtax,total]
df.to_csv("E:\\bhavya 5\\Ip Project\\Item.csv")
bill.to_csv("E:\\bhavya 5\\Ip Project\\transaction.csv",index=False)
print("Record added successfully")
print(bill)
e=input("do you want to add more records,Y or N:")
Submenu3()
#***************************************************************
def Delete_Bill():
h='Y'
while h=='Y' or h=='y':
bill=pd.read_csv("E:\\bhavya 5\\Ip Project\\transaction.csv",index_col=0)
print(bill)
l=int(input("Enter Bill_NO to be deleted"))
bill=bill.drop(index=[l],axis=0)
bill.to_csv("E:\\bhavya 5\\Ip Project\\transaction.csv")
print(bill)
print("Record has been deleted successfully:")
h=input("Do yo want to delete more records,Y or N:")
Submenu3()
#***************************************************************
def Update_Bill():
b="Y"
while b=='Y' or b=='y':
bill=pd.read_csv("E:\\bhavya 5\\Ip Project\\transaction.csv",index_col=0)
print(bill)
bno=int(input("Enter Bill NO to be Updated:"))
if bno in bill.index:
x=bill.loc[bno:,]
print("Bill:",x)
print("Select Column To Be Updated")
print(bill.columns)
Ccl=input("Enter Column Name to be updated:")
x=bill.loc[bno,Ccl]
print("Values:",x)
print("Enter Value to be updated:".format(Ccl))
val=input("Enter new value:")
bill.loc[bno,Ccl]=val
bill.to_csv("E:\\bhavya 5\\Ip Project\\transaction.csv")
print(bill)
print("Record Updated Successfully")
b=input("Do you want to update more records,Y or N:")
Submenu3()
else:
print("Wrong Bill_No")
print("Please Try Again")
Submenu3()
#****************************************************************
def Show_Bill():
bill=pd.read_csv("E:\\bhavya 5\\Ip Project\\transaction.csv")
bill_no=int(input("enter bill_no to see details"))
if bill_no in bill['Bill_No'].values:
print(bill.loc[bill['Bill_No']==bill_no,:])
else :
print("wrong cust_id")
print("Please Try Again")
Submenu3()
#****************************************************************
def Show_Customer():
cust=pd.read_csv("E:\\bhavya 5\\Ip Project\\Customer.csv")
cust_id=int(input("enter customer id to see details"))
if cust_id in cust['Cust_ID'].values:
print(cust.loc[cust['Cust_ID']==cust_id,:])
else :
print("wrong cust_id")
print("Please Try Again")
Submenu2()
#***************************************************************
def Add_Customer():
ans="Y"
while ans=='Y' or ans=='y':
cust=pd.read_csv("E:\\bhavya 5\\Ip Project\\Customer.csv")
Cco=(cust.Cust_ID).max()+1
Cnam=input("Enter Customer Name")
Cno=int(input("Enter Contact No"))
Cadd=input("Enter Customer Address")
cemail=input('Enter Email:')
cust.loc[len(cust),:]=[Cco,Cnam,Cno,Cadd,cemail]
cust.to_csv("E:\\bhavya 5\\Ip Project\\Customer.csv",index=False)
print(cust)
print("Record Added Successfully")
ans=input("Do you want to add more record,Y or N:")
Submenu2()
#****************************************************************
def Delete_customer():
ans="Y"
while ans=='Y' or ans=='y':
cust=pd.read_csv("E:\\bhavya 5\\Ip Project\\Customer.csv",index_col=0)
print(cust)
index=int(input("Enter Cust_ID"))
if index in cust.index:
cust=cust.drop([index],axis=0)
cust.to_csv("E:\\bhavya 5\\Ip Project\\Customer.csv")
print(cust)
print("Record deleted successfully")
else:
print("Wrong Cust_Id")
Submenu2()
ans=input("Do you want to delete more records,Y or N:")
Submenu2()
#****************************************************************
def Edit_Customer():
ans="Y"
while True:
cust=pd.read_csv("E:\\bhavya 5\\Ip Project\\Customer.csv")
Cid=int(input("Enter Cust_Code to be Updated:"))
if Cid in cust['Cust_ID'].values:
print("Select Column To Be Updated")
print(cust.columns)
Ccl=input("Enter Column Name to be updated:")
print("Enter Value to be updated:".format(Ccl))
val=input("Enter new value:")
cust.loc[cust['Cust_ID']==Cid,Ccl]=val
cust.to_csv("E:\\bhavya 5\\Ip Project\\Customer.csv",index=False)
print(cust)
print("Record Updated Successfully")
ans=input("Do you want to update more records,Y or N:")
Submenu2()
else:
print("customer Id not exists")
ans=input("Do you want to update more records,Y or N:")
Submenu2()
#****************************************************************
def Add_Items():
ans="Y"
while ans=='Y' or ans=='y':
df=pd.read_csv("E:\\bhavya 5\\Ip Project\\Item.csv")
icod=(df.Item_Code).max()+1
pro=input("Enter Product Name:")
pri=int(input("Enter Price:"))
s=int(input("enter item stock:"))
Bno=input('ENter Batch No:')
df.loc[len(df),:]=[icod,pro,s,pri,Bno]
df.to_csv("E:\\bhavya 5\\Ip Project\\Item.csv",index=False)
print(df)
print("Record added successfully")
ans=input("Do you want to add more record,Y or N:-")
Submenu()
#****************************************************************
def Delete_Item():
ans="Y"
while ans=='Y' or ans=='y':
df=pd.read_csv("E:\\bhavya 5\\Ip Project\\Item.csv",index_col=0)
print(df)
index=int(input('Enter Item_Code'))
df=df.drop([index],axis=0)
df.to_csv("E:\\bhavya 5\\Ip Project\\Item.csv")
print("Record added successfully")
print(df)
ans=input("Do you want to add more record,Y or N:-")
Submenu()
#****************************************************************
def Edit_Item():
ans="Y"
while True:
df=pd.read_csv("E:\\bhavya 5\\Ip Project\\Item.csv")
im=int(input("Enter Item Code to be update"))
if im in df['Item_Code'].values:
print("Select Column to be updated")
print(df.columns)
cl=input("Enter column name to update:")
print("enter a value to be updated".format(cl))
val=input("Enter new value if in string value give in quotes:")
df.loc[df['Item_Code']==im,cl]=val
df.to_csv("E:\\bhavya 5\\Ip Project\\Item.csv",index=False)
print(df)
print("Record updated successfully")
ans=input("Do you want to update more records,Y or N:")
Submenu()
#****************************************************************
def Show_Item():
df=pd.read_csv("E:\\bhavya 5\\Ip Project\\Item.csv")
Item_Code=int(input("enter item_code to see details"))
if Item_Code in df['Item_Code'].values:
print(df.loc[df['Item_Code']==Item_Code,:])
Submenu()
#****************************************************************
def Submenu4():
print("
Analytics Menu")
print("***********")
print("
1-Sales Graph")
print("
2-Monthwise Sales")
print("
3-Yearwise Sales")
print("
4-Back")
h=int(input("Enter your choice:"))
if h==1:
Sales_Graph()
if h==2:
Graph2()
if h==3:
Graph3()
else:
print("Going back to Main Menu")
Menu()
#****************************************************************
def Submenu3():
print("
Transcations Menu")
print("************")
print("
1-Add Bill")
print("
2-Delete Bill")
print("
3-Update Bill")
print("
4-Show Bill")
print("
5-Back")
o=int(input("Enter your choice(1-5):"))
if o==1:
Add_Bill()
elif o==2:
Delete_Bill()
elif o==3:
Update_Bill()
elif o==4:
Show_Bill()
else:
print("Going back to print menu")
Menu()
#****************************************************************
def Submenu2():
print("
Customers Menu
")
print("************")
print("
1-Add Customer's Details
print("
2-Delete Customer's Details
print("
3-Edit details of the customer")
print("
4-Show details of the customer")
print("
5-B A C K")
i=int(input("Enter your choice(1-5):"))
if i==1:
Add_Customer()
elif i==2:
")
")
Delete_customer()
elif i==3:
Edit_Customer()
elif i==4:
Show_Customer()
else:
print("Going Back to Main Menu")
Menu()
#***************************************************************
def Submenu():
print("
Item MENU
")
print("***********")
print("
1-Add new Item
")
print("
2-Delete Item
print("
3-Edit details of the Item")
print("
4-Show details of the Item")
print("
5-B A C K")
")
c=int(input("Enter your choice (1-5):"))
if c==1:
Add_Items()
Submenu()
elif c==2:
Delete_Item()
Submenu()
elif c==3:
Edit_Item()
Submenu()
elif c==4:
Show_Item()
Submenu()
else:
print("Going back to main menu")
Menu()
print()
#*************************************************************88*
Menu()
Programme Output
Welcome To Our Super Store
1.Item
To Add Items
To Delete Items
To Edit Items
To Show Details Of Items
Go Back To Sub menu
2.Customer Details
Add Customer Details
Delete Customer Details
Edit Customer Details
Show Customer Details
Go Back To Sub menu
3. Transactions
Add Bill
Delete Bill
Update Bill
Show Bill
Go Back To Sub menu
4. Visualisation
Sales Graph
Month Wise Sales
Year Wise Sales
Go Back To Sub menu
Exit Shop
Backend csv’s
1) Item
2) Customer
3) Transaction
Future scope and
further enhancements
of the project
In its current scope , the software enables the user to retrieve and update the information from
centralized database designed with Phython . The software does not require much training time
of the user due to limited functionality and simplicity.
Despite of best effort of the developer, the following limitations and functional boundaries are
visible, which limits the scope of this application software.
1. This software can store records and produce reports in pre –designed format in soft copy.
There is no facility yet to produce customized reports. Only specified reports are covered.
2. There is no provision to calculate fine or penalty etc, for defaulter members;however it
can be developed easily with the help of adding modules .
So far as future scope of the project is concerned, firstly it is open to any modular expansion i.e
other modules or functions can be designed and embedded to handel the user need in future. Any
part of the software and reports can be modified independently without much effort.
References/Bibliography
 Class 12th infromatics
practicesreference
book published by
sumita arora
 www.wikipedia.com
 www.google.com
Download