Stock Management Project Documentation
Stock Management Project Documentation
PROJECT REPORT
ON
STOCK MANAGEMENT SYSTEM
SUBMITTED BY
MOULIDHARAN R -
KAVIN KUMAR R -
CLASS - xII
2023 - 2024
AKV PUBLIC SCHOOL
SENIOR SECONDARY - CBSE
SURIYAGOUNDAMPALAYAM,
PROJECT REPORT
2022 – 2023
CLASS - xII
REGISTER. NO : ………………………………………………………
NAME : ………………………………………………………
CLASS : ………………………………………………………
CERTIFICATE
REGISTER. NO : ………………………………………………………
NAME : ………………………………………………………
CLASS : ………………………………………………………
work done by the above student of CLASS XII for the fulfillment of AISSCE
held on ………………
this project.
CBSE in the AKV Public School and their valuable advice, suggestion and
who has been continuously motivating and extending their helping hand to
us.
PGT Computer Science for guiding us each and every stage of this 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
1. INTRODUCTION
3. SYSTEM ANALYSIS
4. FEASIBILITY STUDY
5. PROPOSED SYSTEM
6. SYSTEM DESIGN
7. SYSTEM IMPLEMENTATION
9. SYSTEM REQUIREMENTS
11. OUTPUT
15. BIBLIOGRAPHY
1.INTRODUCTION
This project is categorized individual aspects for the sales and stock
management system. In this system we are solving different
problem affecting to direct sales management and purchase
management. Stock Management System is important to ensure
quality control in businesses that handle transactions resolving
around consumer goods. Without proper stock control, a large retail
store may run out of stock on an important item.
The system analyst plays the role of the interrogator and dwells
deep into the working of the present system. The system is viewed
as a whole and the input to the system are identified. The outputs
from the organizations are traced to the various processes.
Technical Feasibility.
Operational Feasibility.
Economic Feasibility.
Legal Feasibility.
Schedule Feasibility.
TECHNICAL FEASIBILITY
OPERATIONAL FEASIBILITY
ECONOMIC FEASIBILITY
LEGAL FEASIBILITY
The below steps are carried out during entire feasibility analysis.
Information assessment
Information collection
Report writing
General information
Purchase Management
Product Management
Sales Management
User Management
Reduce costs
Increase sales.
Elements of A System
Plan for and Identify the technologies that will compose and
implement the systems elements.
Module Details
1. Purchase Management
Purchase items
2. Product Management
List products
3. Sales Management
Sale items
4. User Management
MODULE IMPLEMENTATION
1. Purchase Management
Module
INITIATION PHASE
Further define and refine the functional and data requirements and
document them in the Requirements Document,
DESIGN PHASE
These include:
DEVELOPMENT PHASE
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.
Correct faults.
Implement enhancements.
Interface with other systems.
Retire software.
Corrective maintenance:
Adaptive maintenance:
Perfective maintenance:
Preventive maintenance:
HARDWARE REQUIREMENTS:
SOFTWARE REQUIREMENTS:
# STOCK MANAGEMENT
import os
import mysql.connector
import datetime
now = datetime.datetime.now()
mydb=mysql.connector.connect(host="localhost",user="root",
passwd="rootroot",database
="stock")
mycursor=mydb.cursor()
def product_mgmt( ):
while True :
print('''
2. List Products
5. Main Menu
''')
if p==1:
add_product()
if p==2:
search_product()
if p==3:
update_product()
if p==4:
delete_product()
if p== 5:
break
def purchase_mgmt( ):
w
hile True :
p
rint('''
1. Add Order
2. List Order
''')
if o==1 :
add_order()
if o==2 :
list_order()
if o== 3 :
bre
ak
def sales_mgmt( ):
while True :
print('''
1. Sale Items
2. List Sales
3. Exit
''')
if s== 1 :
sale_product()
if s== 2 :
list_sale()
if s== 3 :
br
eak
def user_mgmt( ):
while True :
print('''
3. Exit
''')
u=int (input("\nEnter Your Choice:"))
if u==1:
user_code(code1,password)
if u==2:
delete_user(code2,password1,pr_name)
if u==3:
break
def add_order():
mydb=mysql.connector.connect(host="localhost",user="root",
passwd="rooroot",database="stoc
k")
mycursor=mydb.cursor()
now = datetime.datetime.now()
val=(code,now,name,price,qty,supplier,cat)
mycursor.execute(sql,val)
mydb.commit()
def list_order():
mydb=
mysql.connecto
r.connect(host=
"localhost",user
="root",
passwd="rootroot",database="stock")
mycursor=mydb.cur
orders"
mycursor.execute(sql)
clrscr()
s=mycursor.fetchall()
Or_Cat ”)
for i in s:
print(i)
def add_product():
m
ydb=mysql.c
onnector.con
nect(host="l
ocalhost",us
ocode="SELECT or_code from orders"
mycursor.execute(ocode)
g=mycursor.fetchall()
l=[]
for i in g:
c=list(i)
l=l+c
if code in
l:
val=(code,)
mycursor.execute(search,val)
for x in mycursor:
cnt=x[0]
if cnt==0:
k1=(code,)
mycursor.execute(f,k1) k=[]
b=mycursor.fetchall() for u in b:
b1=list(u)
k=k+b1
print("The order is,",k)
a1=k[0]
a2=k[1]
a3=k[2]
a4=k[3]
mycursor.execute(mysql3)
mydb.commit()
else:
print("Product already
exist")
else:
def update_product():
mydb=mysql.connector.connec
t(host="localhost",user="root",
passwd="rootroot",database="stock")
mycursor=my
print("1.Update Product
if ch==1:
val=(name,code)
mycursor.execute(sql,val)
mydb.commit
print("product name
updated")
if ch==2:
val=(qty,code)
mycursor.execute(sql,val)
mydb.commit()
if ch==3:
product:"))
%s" val=(price,code)
mycursor.execute(sql,val)
mydb.commit()
if ch==4:
val=(cat,code)
mycursor.execute(sql,v
al) mydb.commit()
if ch==5:
break
def delete_product():
m
ydb=mysql.c
onnector.con
nect(host="lo
calhost",user
="root",
p
a
s
s
w
d
=
"
r
o
o
t
r
o
o
t
"
,
while True :
print('''
''')
if s==1 :
print("\n\n\t\t\tPRODUCT
DETAILS")
print("\n\
n(PR_CODE,PR_NAME,PR_P
RICE,PR_QUANTITY
,PR_CATEGORY)")
list_product()
if s==2 :
DETAILS")
print("\n\nPR_CODE,PR_NAME,PR_PRICE,
PR_QUANTITY,PR_CATEGORY")
list_prcode(code)
print("\n\n\t\t\tPRODUCT DETAILS")
print("\n\nPR_CODE,PR_NAME,PR_PRICE,
PR_QUANTITY,PR_CATEGORY")
list_prname(name)
if s==4 :
print("\n\n\t\t\tPRODUCT DETAILS")
print("\n\nPR_CODE,PR_NAME,PR_PRICE,
PR_QUANTITY,PR_CATEGO
RY")
list_prcat(cat)
if s==5 :
break
d
e
f
l
i
s
t
_
p
r
o
d
u
c
t
(
)
:
m
ydb=mysq
l.connector
.connect(h
ost="local
host",user
def list_prcode(code):
mydb=mysql.connector.connect(host="localhost",user="root",
passwd="rootroot",database="stock")
mycursor=mydb.cursor()
mycursor.execute(sql)
l=[]
for j in mycursor:
p=list(j)
l=l+p
if code in l:
val=(code,)
mycursor.execute(sql1,val)
y=mycursor.fetchall()
for i in y:
print(i)
else:
def list_prname(name):
mydb=mysql.connector.con
nect(host="localhost",user="root",
p
assw
d="ro
otroo
t",dat
abase
="sto
sql="SELECT pname from product"
mycursor.execute(sql)
l=[]
for j in mycursor:
p=list(j)
l=l+p
if name in l:
val=(name,)
mycursor.execute(sql1,val)
y=mycursor.fetchall()
for i in y:
print(i)
else:
def sale_product():
mydb=mysql.connector.conn
ect(host="localhost",user="root",
p
asswd
="root
root",
datab
ase="
stock"
)
mycursor=mydb.cursor()
mycursor.execute(sql2)
p=mycursor.fetchall()
l=[]
for h in p:
k1=list(h)
l=l+k1
if user in l:
val1=(pcode,)
mycursor.execute(sql,val1)
for x in mycursor:
cnt=x[0]
if cnt !=0 :
pcode=%s;" val2=(pcode,)
mycursor.execute(sql9,val2)
for x in mycursor:
print(x)
pname=x[1]
price=int(x[2])
pqty=int(x[3])
qty=int(input("
Enter no of
quantity :"))
if qty <= pqty:
mycursor.execute(d)
cnt1=mycursor.fetchall()
cnt2=0
for i in cnt1:
for j in i:
cnt2=j
total=qty*price
sid=int(cnt)+1
dat=datetime.datetime.now()
sales
values({},'{}',
'{}',{},{},{},
{})".format
((j+1),pname,dat,pcode,price,qty,total)
mycursor.execute(sql6)
val4=(qty,pcode) mycursor.execute(sql0,val4)
mycursor.execute(sql20)
r=mycursor.fetchall()
u=[]
for b in r:
u1=list(b)
u=u+u1
u2=u[0]
u3=u[1]
u4=u[2]
mycursor.execute(sql5)
mydb.commit()
else:
else:
else:
else:
print("2. Exit")
if ch1==1:
uid=int(input("Enter user id in
integer type:"))
name=input("Enter Name:")
paswd=input("Enter Password:")
val1=(pcode1,)
mycursor.execute(sql,val1)
for x in mycursor:
cnt=x[0]
if cnt !=0 :
pcode=%s;" val2=(pcode1,)
mycursor.execute(sql9,val2)
for x in mycursor:
(x)
pname=x[1]
price=int(x[2])
pqty=int(x[3])
qty=int(input("Enter no of quantity:"))
d="Select
count(salesid) from sales"
mycursor.execute
(d)
cnt1=mycursor.fetchall()
cnt2=0
for i in cnt1:
for j in i:
cnt2=j
total=qty*price;
sid=int(cnt)+1
dat=dateti
me.datetime.no
w()
sales
values({},'{}',
'{}',{},{},{},
{})".format((j+
1),pname,dat,
pcode1,price,qty,tot
al)
mycursor.execute(sql
6)
WHERE pcode=%s"
val12=(pcode1,)
val4=(qty,pcode1)
mycursor.execute(sql13,val12)
mycursor.execute(sql0,val4)
for x in mycursor:
sql13="SELECT * from
product WHERE pcode=%s;"
print(x)
pname=x[1]
price=int(x[2])
pqty=int(x[3])
dat=datetime.datetime.now()
(%s,%s,%s,%s,%s)"
val=(uid,name,paswd,pname,dat)
mycursor.execute(sql,val)
mydb.commit()
mydb=mysql.connector.connect(host="localhost",user="root",
passwd="rootroot",database="stock")
mycursor=mydb.cursor()
mycursor.execute(sql)
print(" \n\n\t\t\tSALES
DETAILS")
clrscr()
PR_QTY,TOTAL")
u=mycursor.fetchall() for i
in u:
print(i)
def list_prcat(cat):
m
ydb=mysql
.connector.
connect(ho
st="localho
st",user="r
mycursor=mydb.cursor()
mycursor.execute(sql)
l=[]
for j in mycursor:
p=list(j)
l=l+p
if cat in l:
val=(cat,)
mycursor.execute(sql1,val)
clrscr()
z=mycursor.fetchall()
for i in z:
print(i)
else:
def user_code(code1,password):
mydb=mysql.connector.connect(host="localhost",user="root",
passwd="rootroot",database="stock")
mycursor=mydb.cursor()
l=[]
for j in mycursor:
p=list(j)
l=l+p
if code1 in l:
if password in l:
val=(code1,password)
mycursor.execute(sql1,val)
h=mycursor.fetchall() print("\n\n\
print("(USER_ID,USER_NAME,USER_PASWD,
PR_NAME,PURCHASE_DATE)")
for i in h:
print(i)
else:
else :
print("\n")
def delete_user(k,r,m):
mydb=mysql.connector.connect(host="localhost",user="root",
passwd="rootroot",database="stock")
mycursor=mydb.cursor()
mycursor.execute(sql)
l=[]
for i in mycursor:
p=list(i)
l=l+p
if r in l:
if
m in
l:
s
ql
1=
"d
el
et
e
fro
m
us
er
wh
er
e
ui
d=
{}
an
d
pr
_n
else:
if mydb.is_connected():
print("Connected To The
print('''
1. PURCHASE MANAGEMENT
2. PRODUCT MANAGEMENT
3. SALES MANAGEMENT
4. USER MANAGEMENT
5. EXIT
''')
if n== 1:
os.system('cls')
purchase_mgmt()
if n== 2:
product_mgmt()
if n== 3:
sales_mgmt()
if n== 4:
user_mgmt()
if n== 5:
break
else:
print("Not
Conneceted To The
Database")
11. OUTPUT (SAMPLE)
Connecting to database
Purchase Management
Purchase Management(Buying Items)
Purchase Management(Listing items)
Product Management
White-box testing.
The white box testing is done by Developer, where they check every
line of a code before giving it to the Test Engineer. Since the code is
visible for the Developer during the testing, that's why it is also
known as White box testing.
The black box testing is done by the Test Engineer, where they can
check the functionality of an application or the software according to
the customer / client's needs. In this, the code is not visible while
performing the testing that's why it is known as black-box testing.
It is very time-consuming.
Automation testing.
1. Reusability
GUI Testing
Code-Driven
Commercial Tool
Open-source Tool
Non-functional Automation Testing Tools
Commercial Tools.
Open-source Tools.
FUTURE SCOPE
Though this project seems to be complete but there are some limitations of
this project. Few of them are as follows.
1. Computer science With Python - Class XI & Class XII By : Sumita Arora
2. Website:
3. Website: https://en.wikipedia.org/wiki/stockcontrol
4. Website: https://en.wikipedia.org