Professional Documents
Culture Documents
Cloth Store Billing System (Informatics Practices Project Class XII)
Cloth Store Billing System (Informatics Practices Project Class XII)
PROJECT ON
CLOTH STORE BILLING SYSTEM
FOR
AISSCE 2023 EXAMINATION
CERTIFICATE
This is to certify that Master Arpan Sadhukhan of class XII, Section Science-
A, Roll No. ____________has successfully completed the project work
entitled CLOTH STORE BILLING SYSTEM(CSBS) in the subject Informatics
Practices (065). Fulfilling the requirements of CBSE.
The project work reported here is as per the guidelines laid down by CBSE for
AISSCE Practical Examination and it is done under the supervision of Sukanta
Dasgupta. The project work carried out by him is not a form of any other
project work.
________________ _________________
Signature Signature
TABLE OF CONTENTS [ T O C ]
01 ACKNOWLEDGEMENT 04
02 INTRODUCTION 05
04 PROPOSED SYSTEM 06
07 FLOW CHART 15
08 SOURCE CODE 22
09 OUTPUT 29
10 TESTING 31
12 BIBLIOGRAPHY 34
ACKNOWLEDGEMENT
Apart from the efforts of me, the success of any project depends largely on the
encouragement and guidelines of many others. I take this opportunity to express my
gratitude to the people who have been instrumental in the successful completion of
this project.
I express deep sense of gratitude to almighty God for giving me strength for the
successful completion of the project.
The guidance and support received from all the members who contributed and
who are contributing to this project, was vital for the success of the project. I am
grateful for their constant support and help.
PROJECT ON CREATING CLOTH STORE BILLING SYSTEM
INTRODUCTION
This programme helps the users to add a data of customers of all those who does
shopping. Today’s world is full of completions and the only winner of this race is the
one who challenges everybody in that specific field. This program is one example of
how one shop can be different in function from the other.
The objective of this project is to let the students apply the programming
knowledge into a real- world situation/problem and exposed the students how
3. Writing effective procedural code to solve small to large scale problems. Using
flowchart.
presentation skills which will show the special knowledge learnt in the field of
programming
PROPOSED SYSTEM
Today one cannot afford to rely on the fallible human beings of be really wants
to stand against today’s merciless competition then human error should be at the
lowest. So, to keep pace with time, to bring about the best result without malfunctioning
and greater efficiency so to replace the unending heaps of flies with a much-
One has to use the data management software. Software has been an ascent
markets, which have helped in making the organizations work easier and efficiently.
Data management initially had to maintain a lot of ledgers and a lot of paperwork has
to be done but now software production this organization has made their work faster
and easier. Now only this software has to be loaded on the computer and work can be
done.
This prevents a lot of time and money. The work becomes fully automated and
any information regarding the organization can be obtained by clicking the button.
Moreover, now it’s an age of computers and AI which helps in automating the
The systems development life cycle is a project management technique that divides
complex projects into smaller, more easily managed segments or phases. Segmenting
projects allows managers to verify the successful completion of project phases before
allocating resources to subsequent phases.
Software development projects typically include initiation, planning, design,
development, testing, implementation, and maintenance phases. However, the
phases may be divided differently depending on the organization involved.
For example, initial project activities might be designated as request,
requirements-definition, and planning phases, or initiation, concept-development, and
planning phases. End users of the system under development should be involved in
reviewing the output of each phase to ensure the system is being built to deliver the
needed functionality.
INITIATION PHASE
The System Concept Development Phase begins after a business need or opportunity
is validated by the Agency/Organization Program Leadership and the
Agency/Organization CIO.
PLANNING PHASE
This phase formally defines the detailed functional user requirements using
high-level requirements identified in the Initiation, System Concept, and Planning
phases. It also delineates the requirements in terms of data, system performance,
security, and maintainability requirements for the system. The requirements are
defined in this phase to a level of detail sufficient for systems design to proceed. They
need to be measurable, testable, and relate to the business need or opportunity
identified in the Initiation Phase. The requirements that will be used to determine
acceptance of the system are captured in the Test and Evaluation Plan
Further define and refine the functional and data requirements and document
them in the Requirements Document,
Complete business process reengineering of the functions to be supported
(i.e., verify what information drives the business process, what information is
generated, who generates it, where does the information go, and who
processes it),
Develop detailed data and process models (system inputs, outputs, and the
process.
Develop the test and evaluation requirements that will be used to determine
acceptable system performance.
DESIGN PHASE
DEVELOPMENT PHASE
Testing as a deployed system with end users working together with contract
personnel
IMPLEMENTATION PHASE
This phase is initiated after the system has been tested and accepted by the
user. In this phase, the system is installed to support the intended business functions.
System performance is compared to performance objectives established during the
planning phase. Implementation includes user notification, user training, installation of
hardware, installation of software onto production computers, and integration of the
system into daily work processes. This phase continues until the system is operating
in production in accordance with the defined user requirements.
In this system, staff can sign up as a system admin, He/she can have full access to
the system for maintaining daily records. There is no any error and warning contents
in the project. The design is so simple that user should not find it difficult to use and
navigate. Following are some it’s highlighted features:
1. Proper Validations.
2. Proper Log in system.
3. Easy to add, edit, view, search and delete item details.
4. Bill Calculations.
c1=conn.cursor()
c1.execute('use old')
print("WELCOME TO FASHION
CLOTH STORE")
print(' ')
from time import
gmtime,strftime
a=strftime("%a,%d%b%y",gmtime(
))
print(a)
print("1.login")
print("2.To create
account")
X
X
v_user_id=int(input("choose
your user id (in integer):"))
v_passwd=int(input("create
your password (in integer):"))
v_name=input("your full name:")
print("account
created")
X
if
choice
==1:
v_customer_name=input("enter your
name:")
v_gender=input("enter gender:")
v_phone_no=int(input("enter your
phone no:"))
Y X
print("THANK
YOU...For your
visit.")
choice
==2:
v_rate_issue=int(input("rate
your difficulties out of 10="))
v_write_problem=input("write
your problem:")
X
print("Your problem
will be
rectified....thank
you.")
if Print(“err
choi orrrr”)
ce==
3:
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'
val=input("Enter the Season : ")
elif ch==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)
def PurchaseProduct():
mn=""
dy=""
now=datetime.datetime.now()
purchaseID="P"+str(now.year)+str(now.month)+str(now.day)+str(now.hour)+str(n
ow.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,purcha
se.amount 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.mi
nute)+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()
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():
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")
print("*"*80)
print("* * * * * * * Welcome to the Project of Cloth Store Management System *
* * * * * * ")
print("* * * * Developed by: Arpan Sadhukhan, Asian International School, New
Korolah Howrah-711322 * * * * ")
print("*"*80)
print("")
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()
c1=conn.cursor()
c1.execute('use old')
print("WELCOME TO FASHION CLOTH STORE MANAGEMENT SYSTEM")
print(' ')
from time import gmtime,strftime
a=strftime("%a,%d%b%y",gmtime())
print(a)
print(' ')
print("1.login")
print("2.To create account")
print("")
print('')
choice=int(input("enter your choice:"))
print(' ')
if choice==1:
a=int(input("enter user_id:"))
c1.execute("select passwd from login where user_id = "+str(a)+";")
data=c1.fetchall()
data=data[0]
data=list(data)
data=data[0]
data=str(data)
print(' ')
print(' ')
b=int(input("enter passwd:"))
conn.cursor()
conn.commit()
if choice==2:
print('to create your account please enter your user id and password')
c1=conn.cursor()
v_user_id=int(input("choose your user id (in integer):"))
print('')
v_passwd=int(input("create your password (in integer):"))
print('')
v_name=input("your full name:")
print('')
c1=conn.cursor()
update="insert into login values("+ str(v_user_id) +","+ str(v_passwd)
+",'"+ v_name +"')"
c1.execute(update)
conn.commit()
print("account created")
print("if shopping is done press 1.")
print("if you like to file any marketing problem press 2.")
print("if no shopping is done press 3.")
choice=int(input("enter your choice="))
if choice==1:
v_customer_name=input("enter your name:")
v_gender=input("enter gender:")
v_phone_no=int(input("enter your phone no:"))
v_items=input("enter item name:")
v_qty=int(input("enter quantity:"))
v_payment=int(input("make payment:"))
v_SQL_INSERT="insert into cloth
values('"+v_customer_name+"','"+v_gender+"',"+str(v_phone_no)+",'"+v_items+"',
"+str(v_qty)+","+str(v_payment)+")"
c1.execute(v_SQL_INSERT)
print("THANK YOU...For your visit.")
if choice==2:
c1.execute('USE old')
v_rate_issue=int(input("rate your difficultes out of 10="))
v_write_problem=input("write your problem:")
v_SQL_INSERT="insert into sys
values("+str(v_rate_issue)+",'"+v_write_problem+"')"
c1.execute(v_SQL_INSERT)
print("Your problem will be rectified....thank you.")
if choice==3:
c1.execute('use old')
v_comment=input("comment about store here please:")
v_SQL_insert="insert into comment values('"+v_comment+"')"
c1.execute(v_SQL_insert)
print("THANK YOU FOR YOUR VISIT ....WISH YOU BEST.")
conn.commit()
OUTPUTS
Main Menu
Addition of Product
Edit Product
Delete Product
View Product
Purchase Product
View Purchase
Stock Details
TESTING METHODS
Software testing methods are traditionally divided into black box testing and
white box testing. These two approaches are used to describe the point of view that
a test engineer takes when designing test cases.
SPECIFICATION-BASED TESTING
The black box tester has no "bonds" with the code, and a tester's perception is
very simple: a code must have bugs. Using the principle, "Ask and you shall receive,"
black box testers find bugs where programmers don't. But, on the other hand, black
box testing has been said to be "like a walk in a dark labyrinth without a flashlight,"
because the tester doesn't know how the software being tested was actually
constructed.
That's why there are situations when (1) a black box tester writes many test
cases to check something that can be tested by only one test case, and/or (2) some
parts of the back end are not tested at all. Therefore, black box testing has the
advantage of "an unaffiliated opinion," on the one hand, and the disadvantage of "blind
exploring," on the other.
White box testing, by contrast to black box testing, is when the tester has
access to the internal data structures and algorithms (and the code that implement
these)
White box testing methods can also be used to evaluate the completeness of a
test suite that was created with black box testing methods. This allows the software
team to examine parts of a system that are rarely tested and ensures that the most
important function points have been tested.
SOFTWARE REQUIREMENTS:
I. Windows OS
II. Python
BLIOGRAPHY
1. Computer science With Python - Class XI & Class XII By : Sumit Arora
2. Creating Movie Ticket Booking By : A T Pranavvarshan