2024 - 2025
Department of Computer Science
A Project Report
on
Inventory Management
As partial fulfillment of the requirement
For the award of
Central Board of Secondary Examination
Prepared By:
(Naitik Singh)
XII A
Guided by: Head of Dept.
Mr. Shreesh Kumar Dubey Mr. Ajay Jaiswal
Mrs. S. Chowfin
Principal
ACKNOWLEDGMENT
I feel immense pleasure and deep feeling of gratitude towards
Mr. Shreesh Sir of The St. Michael’s Higher Secondary School,
Satna. For his skillful guidance constructive and valuable suggestion
and encouraging co-operation for making my project, this not merely
helped but enable me to give effort towards this project.
I wish to acknowledge our heartily regards to Mr. A. Jaiswal Sir for his
kind co-operation and for suggesting the Project and for there constant
advice and encouragement during the course of this investigation I am
also thankful to Mrs. S. Chowfin, Principal , St. Michael’s Senior
Secondary School ,Satna for her encouragement and valuable
suggestions given to me from time to time, I also extend my thanks to
all my classmates and friends for their valuable assistance and kind
cooperation during the course of this investigation.
Naitik Singh
Class – XII A
CERTIFICATE
This is to certify that this Project report entitled
“Inventory Management”
Has been prepared by:
Naitik Singh (XII A)
Student of class XII A The system has been approved by the Department of
Computer Science, St. Michael’s Higher Secondary School, Satna (M.P.)
and the work has been done under my guidance.
This work is up to the mark of satisfaction. We wish him
success in every aspect of life. He has performed this project on his own. He
has also put in sufficient periods for completion. This project has been
completed as per rules of Central Board of Secondary Examination Syllabus
and can be considered as the fulfillment of the CBSE Examination.
Mr. Ajay Jaiswal
(H.O.D)
TABLE OF CONTENTS
Sno PARTICULARS Pgno
1 Preface 1
2 Introduction to project 2
3 Objective of the project 3
4 Scope of the project 4
5 The Existing system 5
6 proposed system 6
7 Input/Output Requirement 7
8 System Design 8-12
9 Table and fields for databases 13
10 Database Dictionary 14
11 Security Control 15
12 Future Scope of the Project 16
13 Source Code 17-24
14 Output 25-28
15 Conclusion 29
16 Hardware/Software Requirement 30
17 Reference or Bibliography 31
PREFACE 1.
I have chosen Inventory management system as
my topic for cbse class 12th computer science
project by python with sql database.
SQL,when connected with python provides a
framework for the users to have a better
connectivity.This combination have many benefits.
python programming is easier and faster than
other languages,especially when it comes to
database development.python supports SQL
cursors and relational database systems.Both the
python database and the python programs are
portable, thus they can provide an advantage in
terms of portability.
INTRODUCTION TO THE PROJECT 2.
Inventory management system is the process by
which you can track your goods throughout your
entire supply chain,from purchasing to production
to end sales.
This system is used by companies to ensure that
they know exactly what items they have
available.This system provide detailed records of
new and returned products as they’re entering or
leaving warehouse to help them to organize and
account for their stock.
Inventory management system is vital to
manufacturing as well as Trading business because
it helps to make sure that there is rarely too much
or too little stock on hand,limiting the risk of
stockouts and inaccurate records.
SCOPE OF THE PROJECT 3.
Inventory management system is basically updating the
manual inventory system into an internet based
application so that the store manager can know the
details of stock items available in store and information
regarding the item sold it is also beneficial for store
manager to know the customer details and automatically
generates the bill amount.
The project is specifically design for the use of store
manager.The product will work as a complete user
interface for inventory management process.This system
can be used by existing or new store to manage its
inventory and sales.
The project can be esily implemented under various
situations we can add new features as and when we
require making reusability possible as there is flexibility
in all the modules.It is especially useful for any
educational institute where modifications in the content
needs to be done on a regular basis.
OBJECTIVE OF THE PROJECT 4.
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
programming skills helps in developing a good software.
->Write programs utilizing modern software tools.
->Apply object oriented programming principles
effectively when developing small to medium sized
projects.
->write effective procedural code to solve small to
medium sized project.
->students will demonstrate to breadth of knowledge in
computer science,as exemplified in the areas of
systems,theory and software development.
->students will demonstrate ability to conduct a research
or applied computer science project,requiring writing and
presentation skills which exemplify scholarly style in
computer science.
THE EXISTING SYSTEM 5.
The existing system is manual.All the records and details
are manually recorded on registers and documents are
stored in the files in the form of hard copies.
customer is visiting the store and the store manager is
giving them a form to place order.Later on,the store
manager makes this entry either in register or MS excel
manually.
The existing system takes more time and very tedious
job for an store manager as that person is mostly gets
engaged in making data entries.
This process is applied for all kinds of stores.it is getting
more time to search a record manually from the register
or taking print out from excel worksheet.
PROPOSED SYSTEM 6.
The proposed system will overcome with the limitations
of existing system.Firstly there is no need to give any
details about products by manager or customer.it can be
done on call as well.
Customer can make a call and provide details about
products on email or Whatsapp message.This information
can be added by office manager in the proposed
system.It will save time and efforts of both the customer
and office manager.
The proposed system also helps in tracking the
connection request, maintenance call easily.When the
order is placed it will change the status of stock.Proposed
system also helps in managing the feedbacks and
decision making.
INPUT/OUTPUT REQUIREMENTS 7.
Data for any system is like food for us.Data needs to be
fed by user to work with a specific software.After
processing the data final result will be printed as output.
so as per this project is concern the input enter by user is
as follows:
1. Login:for login system(we) have provided built in
module where username and password are provided to
them and they can login with username and
password.They cannot change or create any user as they
have to contact us for any user related queries.
2. Stock:To maintain store efficiently proper stock data is
to be maintained.This data includes product code,product
name,product price,quantity in stock and price of
product.
3. Purchases:for puchases done by customers it is
entered by manager on the basis of information provided
by customer.This data includes order date,product
code,quantity customer want to buy and then amount to
be paid by customer is automatically generated by
system
SYSTEM DESIGN 8-12.
System design refers to the interface of a software which
satisfies the need for the end-requirements.system
design should be interactive and presentable.All the
options required for the processing should be present in
system way.here my system design for this project is as
follows.
LOGIN FOR ADMIN(MANAGER)->
INCORRECT PASSWORD->
ADDING ITEMS IN STOCK->
UPDATING PRICE->
DELETING ITEM->
DISPLAY ALL ITEMS->
CHANGING PASSWORD->
lOG OUT->
CUSTOMER SECTION->
PURCHASING ITEM->
LOOKING AT AVAILABLE ITEMS->
EXIT->
TABLES AND FIELDS FOR DATABASES
13.
LOGIN TABLE->
STOCK TABLE->
PURCHASES TABLE->
DATABASE DICTIONARY 14.
Database dictionary plays an important role in project. It saves the output
generated by pyhton program.I have used MYSQL in back end to store
data. I have used following tables to manage this project data efficiently.
1. Login:login table consists of data regarding users login
information such as username and password.
The structure of users table is as follows:
2. Stock:This table store data about items available at store.
The structure of stock table is as follows:
3. Purchases:This table hold records of items being purchased by
customer and amount to be paid by them.The table has following
structure:
SECURITY CONTROL 15.
Data security and security control is one of the most important aspects
of any computerised system.As store as well customer are giving
necessary information,security matters a lot.store data in the
applictaion requires security.There should be any loop hole or any
unauthorised person can use data.So, we have created admin user and
password.Although the user has entered the password very carefully as
it is visible on screen while using this program.This project is prepared
only for single user.
I am not accepting any credit card or debit card for payment.No pin
number or passwords asked to customer directly or indirectly for this
system.
We have provided only one administrator account with this
project.Later,we will provide multi users to operate data as data filled
with software.More user specific profile will also updated in the future.
For more security we will ensure the password also should not visible
for anyone while entering the password.We have not provided any
direct database access to the users.
FUTURE SCOPE OF THE PROJECT 16.
Our project has a large scope in the future as it is easy to
use, understand and modify.
*In this age of evolving technologies, our software aims
to modernise data storing which earlier were not able to
stand the test of time,either because of superior
competition or due to heavy storing data in the system.
*This software helps the management department
maintain the records of sale and purchase in a store.
*This software is a paperless software which makes it
easy to maintain and aids the enviroment .
*This software increases the precision and efficiency by
eliminating the chances of error.
SOURCE CODE 17-24.
import mysql.connector
print("""
WELCOME TO INVENTORY MANAGEMENT SYSTEM
""")
mydb=mysql.connector.connect(host="localhost",user="root",passwor
d="22072006")
mycursor=mydb.cursor()
mycursor.execute("create database if not exists IMS")
mycursor.execute("use IMS")
mycursor.execute("create table if not exists login(username varchar(25)
not null,password varchar(25) not null)")
mycursor.execute("create table if not exists purchases(odate date not
null,name varchar(25) not null,pcode int(11) not null,amount int not
null)")
mycursor.execute("create table if not exists stock(pcode int(11) not
null,pname varchar(25) not null,quantity_in_kg int not
null,price_of_1kg int not null)")
mydb.commit()
#############MANAGER"S_SECTION#####################
z=0
mycursor.execute("select * from login")
for i in mycursor:
z+=1
if(z==0):
mycursor.execute("insert into login values('CHETNA GOYAL','KIPS')")
mydb.commit()
while True:
print("""
1.Admin
2.Customer
3.Exit
""")
ch=int(input("enter your choice->"))
if(ch==1):
passs=input("enter password")
mycursor.execute("select * from login")
for i in mycursor:
username,password=i
if(passs==password):
print("<<<<welcome>>>>\n")
print(username)
loop2="y"
while(loop2=="y" or loop2=="Y"):
print("1.Add new item\n")
print("2.updating price\n")
print("3.deleting item\n")
print("4.Display all items\n")
print("5.To change the password\n")
print("6.log out\n")
ch=int(input("enter your choice:"))
if(ch==1):
loop="y"
while(loop=="y" or loop=="Y"):
print("--Enter details of items below--")
pcode=int(input("enter product code:"))
pname=input("Enter product name:")
quantity=input("enter product quantity:")
price=int(input("enter product price:"))
mycursor.execute("insert into stock
values('"+str(pcode)+"','"+pname+"','"+str(quantity)+"','"+str(price)+"')"
)
mydb.commit()
print("Record inserted successfully .... ")
loop=input("DO you want to enter more
items?(Y/n):")
loop2=input("Do you want to continue editing
stock???(Y/N):")
elif(ch==2):
loop3='Y'
while(loop3=="y" or loop3=="Y"):
pcode=int(input("enter product code:"))
new_price=int(input("enter new price:"))
mycursor.execute("update stock set
price_of_1kg='"+str(new_price)+"'where pcode='"+str(pcode)+"'")
mydb.commit()
loop3=input("Do you want to change price of any other
item?(Y/N)")
loop2=input("Do you want to continue editing
stock???(Y/N)")
elif(ch==3):
loop4='Y'
while(loop4=="y"or loop4=="Y"):
pcode=int(input("enter product code"))
mycursor.execute("delete from stock where
pcode='"+str(pcode)+"'")
mydb.commit()
loop4=input("Do you want to delete any other
data??(Y/n):")
loop2=input("Do you want to continue editing
stock???(Y/N)")
elif(ch==4):
print("---ITEMS_AVAILABLE---")
mycursor.execute("select * from stock")
print("pcode || pname || quantity || price")
for i in mycursor:
t_code,t_name,t_quan,t_price=i
print(f"{t_code}||{t_name}||{t_quan}||{t_price}")
elif(ch==5):
old_passs=input("enter old password:")
mycursor.execute("select * from login")
for i in mycursor:
username,password=i
if(old_passs==password):
new_passs=input("enter new password:")
mycursor.execute("update login set
password='"+new_passs+"'")
mydb.commit()
print("PASSWORD CHANGED")
elif(ch==6):
break
else:
print("Wrong password")
####################CUSTOMER'S_SECTION#################
elif(ch==2):
print("****WELCOME_TO_OUR_STORE****")
print("1.Item bucket\n")
print("2.view available items\n")
print("3.go back\n")
ch2=int(input("enter your choice:"))
if(ch2==1):
name=input("enter your name:")
pcode=int(input("enter product code:"))
quantity=int(input("enter product quantity:"))
mycursor.execute("select * from stock where
pcode='"+str(pcode)+"'")
for i in mycursor:
t_code,t_name,t_quan,t_price=i
amount=t_price*quantity
print("Customer name",name)
print("Amount to be paid",amount)
net_quan=t_quan-quantity
mycursor.execute("update stock set
quantity_in_kg='"+str(net_quan)+"'where pcode='"+str(pcode)+"'")
mycursor.execute("insert into purchases
values(now(),'"+name+"','"+str(pcode)+"','"+str(amount)+"')")
mydb.commit()
print("THANKYOU FOR PURCHASING")
elif(ch2==2):
print("CODE||NAME||PRICE||")
mycursor.execute("select * from stock")
for i in mycursor:
t_code,t_name,t_quan,t_price=i
print("ITEMS AVAILABLE IN STOCK")
print(f"{t_code}||{t_name}||{t_price}")
elif(ch2==3):
break
elif(ch==3):
break
OUTPUT 25-28
SCREEN 1
SCREEN 2
SCREEN 3
SCREEN 4
SCREEN 5
SCREEN 6
SCREEN 7
SCREEN 8
CONCLUSION 29.
Making project like this is a great journey of
learning.We learn so many things while developing
this project.As i have started, i learnt how
organization functions and collect data,How the
business is functioning and maintaining the
information about goods available in stock and
purchases.
with reference to technical knowledge,it will also a
great exeperience with learning as well,whether it
is python or MYSQL or putting logics into code.
This is not the end but we have started a journey
with this project and hope many more to come in
future.In addition to this, constant update for this
project will be provided as per the requirements of
the firm.
HARDWARE AND SOFTWARE
REQUIREMENT 30.
#Software Specifications;-
->operating system:windows10/8/7
->Platform:Pyhton IDLE3.7
->Database:MySQL
->Languages:Python
#Hardware Specifications;-
->Processor:Dual core or above
->Hard Disk:40 GB
->RAM:1024 MB
REFERENCE OR BIBLIOGRAPHY 31.
*Computer science with python Textbook for class
12th by sumita Arora.
*Computer Science Text book for class 12th NCERT
*www.tutorialaicsip.com
*www.youtube.com
*www.geekforgreeks.com
*www.stackoverflow.com
*www.tutorialpoints.com