0% found this document useful (0 votes)
23 views30 pages

Bookstore Final Project

The document describes a book store management system that allows searching for books, managing book sales records, and displaying book availability and employee details. It aims to automate the book store's operations by storing all book and employee data in a database and developing software to perform tasks like searching, sales reporting, and inventory management more efficiently compared to manual record keeping.

Uploaded by

lakshna2007.vs
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views30 pages

Bookstore Final Project

The document describes a book store management system that allows searching for books, managing book sales records, and displaying book availability and employee details. It aims to automate the book store's operations by storing all book and employee data in a database and developing software to perform tasks like searching, sales reporting, and inventory management more efficiently compared to manual record keeping.

Uploaded by

lakshna2007.vs
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

1.

INTRODUCTION

The project “BOOK STORE OVERSIGHT SYSTEM” includes some facilities for
the retail book shop to maintain records of the books and also search, display,
modification, delete etc.., the books available. This software searches the books data
which is store in the record. The software used for small shops for maintaining their
records related to books selling, printing the reports and costs savings, book distributions
transaction handling is one of the complex system to maintain overall transactions
handling is one of the complex system to maintain overall transactions in an easier
manner. Due to heavy demand of books in these competitive world´s data increase so
much books shop required up to date information about the customer who purchased
books or about the suppliers from where books are purchased. It requires large amount of
data to record and to store which are collected from the book house.

1.1 OBJECTIVE AND SCOPE OF THE PROJECT

The main objective of ‘Book Store Oversight System´ is to manage the details
of books and salary details. It manages all the information about the books in
the organization and its sales record.
 Provides the searching facilities of a particular books.
 Manages the past data of sold books in the store which can be
useful of future reference.
 Display the books availability in the store and existing employee
details.
.

1
1. 2.PROBLEMS, DEFINITION AND DESCRIPTIONS

At present, the wholesale and Retail outlets are working under manual management.
The client uses MYsql, All records related to Products , Sales, Suppliers, Orders,
Payment are stored in file..there is lot of duplicate work, and chance of mistake. When
the records are changed they need to update each and every file. In case of Customer
records, all information related to customers and the product which the customer has
purchased is to be stored in the Customers files. If the changes in the customer
profile(like Phone no., Address)occur, excel file must be updated. To manage the whole
data, the person maintaining records has to take great pain. Various files has to be
maintained for each separate process. There is no option to find previous saved records.
There is no security; anybody can access any report and sensitive data.

2.1 EXISTING SYSTEM

All records related to products, sales, Suppliers, Orders, Payment are stored in registers.
To manage the whole data, the person maintaining records has to take great pain.
Various registers has to be maintained for each separate process. Existing system, used
for the Management of sales dependent on human actions and responses (Manual
Management), which couldn´t be free fromerrors. In each process whether it is Product
Management, Maintaining Customer Records, Payment Management,Report
Generation, user has to pay attention to a greter extent while performing the tasks.
During the manual management, the tasks, which are to be performed by its users, are:
Maintenance of Customers

2
Records. Maintenance of Customers, Maintenance of Suppliers and Staff Records.
Searching and answer the query asked by other users. All these operations will lead to
continuous modifications in the database. In case of Customer records, all information
related to customers and the product which the customer has purchased is to be stored in
the Customers register. If the changes in the customer profile occur, registers must be
updated. For the maintenance of the payment records, the customer register has to be
checked to know the details of the product purchased by customer. Monthly payment of
installment needs record in the register to be updated. During issuing order of more
stock, the product register is required to check to availability of stock in hand. To
generate the reports based on the management requirement, will require extensive
searching of records. In case of Staff Record Management, the registers need to be
updated time to time as information (like Phone, Address)changes frequently.

2.2 PROPOSED SYSTEM

One has to use the data management software. Software has been an ascent in
atomization various organizations. Many software products working are now in
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 paper work has
to be done but now software product on 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 its an age of computers of and automating such an organization gives
the better look.

3
2. 3.HARDWARE AND SOFTWARE REQUIREMENTS

3.1 HARDWARE

 Processor:Intel Core i5-10600k

 Processor sped:4.1Ghz

 RAM:2 GB or more

 Hard disk:2GB

SOFTWARE

 Operating System:Windows or more

 IDE:IDLE Python

 Front end-Python 3.6 or above

 Back end – MySQL server 5.0 or above

4
4.ADVANTAGES AND LIMITATIONS

4.1 ADVANTAGES

 Customers does not have to wait in long queues.

 This software reduce paper work.

 It is easy to handle customers record.

 This software saves the time.

 Information of the customer stores permanently.

 To reduce the headache of maintaining the record of bookkeepers and


customers-related documents.
 To reduce the cumbersome job of maintaining several documents like
whom we have issued the book and when will return that.
 It will eliminate the delays in making the payments, where people use to
stand for a long time in the queue to pay and get their book.
 Searching will become more efficient and fast in comparison to manual
searching.
 It will also provide assurance that we have a proper record of the selling
of the books so that we can limit our books stock according to that.
 Overall, it will reduce the cost and time of the shopkeeper who will take
care of the shop.

5
4.2 LIMITATIONS

 This system suitable for only small book shops.

 Online facitity is not available.

 This process is so much time-consuming and does not provide trust in


retailers.
 There is the threat of forgery if you are new to marketing and do not know
how to bargain with these street sellers.
 There is no proper way of getting to know about the actual price of the
books sometimes shopkeepers sell it more than the market price by saying
that the book is not available in the market.
 It might be the case that shopkeepers do not refund money if you purchase
wrong books.

6
5.SPECIAL FEATURES OF LANGUAGE
Python:
Python is a popular programming language. It was created by guido van,
. rossum, and released in 1991.
It is used for:

 Web development (service-side).

 Software development.

 Data analysis

 System scripting

FEATURES OF PYTHON:

• Python can be used on a server to create web applications.

• Python can be used alongside software to create workflows.

• Python can connect to database system. It can also read and modify the

files.

• Python can be used to handle big data and perform complex mathematics.

• Python can be used for rapid prototyping, or for production-ready software


development.

7
6. MySQL

MySQL is an open-source relation database management system (RDBMS). It is


the most popular database system used with PHP. MySQL is developed,
distributed, and supported by oracle copration.

The data in a MySQL database are stored in tables which consists of columns
and rows.
* MySQL is a database system that runs on a server.

* MySQL is idel for both small and large applications.

* MySQL is very fast, reliable, and easy to use database system. It use standard
SQL.
* MySQL complies on a number of platforms.

Interface python with MySQL:

MySQL python\connector is an interface for connecting to a MySQL database


server from python. It implements the python Database API and is build on
top of the MySQL.

• Connect to the MySQL server.

• Create a new database.

• Connect to the newly created or an existing database.

• Execute a SQL query and fetch results.

• Inform the database if any changes are made to a tab

8
7.SOURCE CODE
mysql.connector

mydb=mysql.connector.connect (host="localhost", user="root",


password="root")

#CREATING DATABASE

mycursor=mydb.cursor()

mycursor.execute("create database if not exists store")

mycursor.execute("use store")

mycursor.execute("create table if not exists signup(username


varchar(20),password varchar(20))")

while True:

print("""1:Signup

2:Login""")

ch=int(input("SIGNUP/LOGIN(1,2):"))

#SIGNUP

if ch==1:

username=input("USERNAME:")

pw=input("PASSWORD:")

mycursor.execute("insert into signup values('"+username+"','"+pw+"')")

9
mydb.commit()

#LOGIN

elif ch==2:

username=input("USERNAME:")

mycursor.execute("select username from signup where


username='"+username+"'")

pot=mycursor.fetchone()

if pot is not None:

print("VALID USERNAME!!!!!!")

pw=input("PASSWORD:")

mycursor.execute("select password from signup where


password='"+pw+"'")

a=mycursor.fetchone()

if a is not None:

print("""+++++++++++++++++++++++

+++LOGIN SUCCESSFULL+++

+++++++++++++++++++++++""")

10
print("""===================================================
===================

++++++++++++++++++++++++++ MY BOOK STORE


+++++++++++++++++++++++++

=========================================================
=================""")

mycursor.execute("create table if not exists


Available_Books(BookName varchar(30) primary key,Genre
varchar(20),Quantity int(3),Author varchar(20),Publication varchar(30),Price
int(4))")

mycursor.execute("create table if not exists Sell_rec(CustomerName


varchar(20),PhoneNumber char(10) unique key, BookName
varchar(30),Quantity int(100),Price int(4),foreign key (BookName) references
Available_Books(BookName))")

mycursor.execute("create table if not exists Staff_details(Name


varchar(30), Gender varchar(10),Age int(3), PhoneNumber char(10) unique key
, Address varchar(40))")

mydb.commit()

while(True):

print("""1:Add Books

2:Delete Books

3:Search Books

4:Staff Details

5:Sell Record

6:Available Books

7:Total Income after the Latest Reset


11
8:Exit""")

a=int(input("Enter your choice:"))

#ADD BOOKS

if a==1:

print("All information prompted are mandatory to be filled")

book=str(input("Enter Book Name:"))

genre=str(input("Genre:"))

quantity=int(input("Enter quantity:"))

author=str(input("Enter author name:"))

publication=str(input("Enter publication house:"))

price=int(input("Enter the price:"))

mycursor.execute("select * from Available_Books where


bookname='"+book+"'")

row=mycursor.fetchone()

if row is not None:

mycursor.execute("update Available_Books set


quantity=quantity+'"+str(quantity)+"' where bookname='"+book+"'")

mydb.commit()

12
print("""++++++++++++++++++++++

++SUCCESSFULLY ADDED++

++++++++++++++++++++++""")

else:

mycursor.execute("insert into
Available_Books(bookname,genre,quantity,author,publication,price)
values('"+book+"','"+genre+"','"+str(quantity)+"','"+author+"','"+publication+"','
"+str(price)+"')")

mydb.commit()

print("""++++++++++++++++++++++

++SUCCESSFULLY ADDED++

++++++++++++++++++++++""")

#DELETE BOOKS

elif a==2:

print("AVAILABLE BOOKS...")

mycursor.execute("select * from Available_Books ")

for x in mycursor:

print(x)

13
cusname=str(input("Enter customer name:"))

phno=int(input("Enter phone number:"))

book=str(input("Enter Book Name:"))

price=int(input("Enter the price:"))

n=int(input("Enter quantity:"))

mycursor.execute("select quantity from available_books where


bookname='"+book+"'")

lk=mycursor.fetchone()

if max(lk)<n:

print(n,"Books are not available!!!!")

else:

mycursor.execute("select bookname from available_books


where bookname='"+book+"'")

log=mycursor.fetchone()

if log is not None:

mycursor.execute("insert into Sell_rec


values('"+cusname+"','"+str(phno)+"','"+book+"','"+str(n)+"','"+str(price)+"')")

mycursor.execute("update Available_Books set


quantity=quantity-'"+str(n)+"' where BookName='"+book+"'")

mydb.commit()

14
print("""++++++++++++++++++++++

++BOOK HAS BEEN SOLD++

++++++++++++++++++++++""")

else:

print("BOOK IS NOT AVAILABLE!!!!!!!")

#SEARCH BOOKS ON THE BASIS OF GIVEN OPTIONS

elif a==3:

print("""1:Search by name

2:Search by genre

3:Search by author""")

l=int(input("Search by?:"))

#BY BOOKNAME

if l==1:

o=input("Enter Book to search:")

mycursor.execute("select bookname from available_books


where bookname='"+o+"'")

tree=mycursor.fetchone()

if tree!=None:

15
print("""++++++++++++++++++++

++BOOK IS IN STOCK++

++++++++++++++++++++""")

else:

print("BOOK IS NOT IN STOCK!!!!!!!")

#BY GENRE

elif l==2:

g=input("Enter genre to search:")

mycursor.execute("select genre from available_books where


genre='"+g+"'")

poll=mycursor.fetchall()

if poll is not None:

print("""++++++++++++++++++++

++BOOK IS IN STOCK++

++++++++++++++++++++""")

mycursor.execute("select * from available_books where


genre='"+g+"'")

for y in mycursor:

print(y)

16
else:

print("BOOKS OF SUCH GENRE ARE NOT


AVAILABLE!!!!!!!!!")

#BY AUTHOR NAME

elif l==3:

au=input("Enter author to search:")

mycursor.execute("select author from available_books where


author='"+au+"'")

home=mycursor.fetchall()

if home is not None:

print("""++++++++++++++++++++

++BOOK IS IN STOCK++

++++++++++++++++++++""")

mycursor.execute("select * from available_books where


author='"+au+"'")

for z in mycursor:

print(z)

17
else:

print("BOOKS OF THIS AUTHOR ARE NOT


AVAILABLE!!!!!!!")

mydb.commit()

#STAFF DETAILS

elif a==4:

print("1:New staff entry")

print("2:Remove staff")

print("3:Existing staff details")

ch=int(input("Enter your choice:"))

#NEW STAFF ENTRY

if ch==1:

fname=str(input("Enter Fullname:"))

gender=str(input("Gender(M/F/O):"))

age=int(input("Age:"))

phno=int(input("Staff phone no.:"))

add=str(input("Address:"))

mycursor.execute("insert into
Staff_details(name,gender,age,phonenumber,address)
values('"+fname+"','"+gender+"','"+str(age)+"','"+str(phno)+"','"+add+"')")

print("""+++++++++++++++++++++++++++++

18
+STAFF IS SUCCESSFULLY ADDED+

+++++++++++++++++++++++++++++""")

mydb.commit()

#REMOVE STAFF

elif ch==2:

nm=str(input("Enter staff name to remove:"))

mycursor.execute("select name from staff_details where


name='"+nm+"'")

toy=mycursor.fetchone()

if toy is not None:

mycursor.execute("delete from staff_details where


name='"+nm+"'")

print("""+++++++++++++++++++++++++++++++++

++STAFF IS SUCCESSFULLY REMOVED++

+++++++++++++++++++++++++++++++++""")

mydb.commit()

else:

print("STAFF DOESNOT EXIST!!!!!!")

#EXISTING STAFF DETAILS

elif ch==3:

mycursor.execute("select * from Staff_details")

19
run=mycursor.fetchone()

for t in mycursor:

print(t)

if run is not None:

print("EXISTING STAFF DETAILS...")

for t in mycursor:

print(t)

else:

print("NO STAFF EXISTS!!!!!!!")

mydb.commit()

#SALES HISTORY

elif a==5:

print("1:Sell history details")

print("2:Reset Sell history")

ty=int(input("Enter your choice:"))

if ty==1:

mycursor.execute("select * from sell_rec")

for u in mycursor:

print(u)

20
if ty==2:

bb=input("Are you sure(Y/N):")

if bb=="Y":

mycursor.execute("delete from sell_rec")

mydb.commit()

elif bb=="N":

pass

#AVAILABLE BOOKS

elif a==6:

mycursor.execute("select * from available_books order by


bookname")

for v in mycursor:

print(v)

#TOTAL INCOME AFTER LATEST UPDATE

elif a==7:

mycursor.execute("select sum(price) from sell_rec")

for x in mycursor:

print(x)

#EXIT

elif a==8:

break

21
#LOGIN ELSE PART

else:

print("""++++++++++++++++++++++

++INCORRECT PASSWORD++

++++++++++++++++++++++""")

else:

print("""++++++++++++++++++++

++INVALID USERNAME++

++++++++++++++++++++""")

else:

break

22
8.OUTPUT SCREEN

LOGIN

23
ADD NEW BOOK

AVAILABLE BOOK TABLE

24
DELETE BOOK

SEARCH BOOKS

25
STAFF DETAILS

SALES RECORD

SALES RECORD TABLE


26
EXISTING STAFF DETAILS

27
AVAILABLE BOOKS

28
9.FUTURE ENHANCEMENT

 To reduce the headache of maintaining the record of bookkeepers

and customer_related documents.

 To reduce the cumbersome job of maintaining several documents like

whom we have issued the book and when will he return that.

 It will eliminate the delays ni making the payments, where people use to

stand for a long time in the queue to pay and get their book.

 Searching will become more efficient and fast in comparison to manual

searching.

 It will also provide assurance that we have a proper record of the selling

of the books so that we can limit our books stock according to that.

 Overall, it will reduce the cost and time of the shopkeeper who will take

care of the shop.

29
10.CONCLUSION

This project is an attempt in maintaining customers details and can easily


perform operation on customers records. This project also reduces the work load
of the shop keeper to know the quality of books available and also keep the
records of how many books are purchased and sold. Proposed system will support
both clients and the store in many areas . Its worth analyzing and identifying the
benefits as it would directly influence the productivity of the store. Customer
satisfaction plays the most vital role in any form of product and service rendering
store as the existence of any firm solely depends on its customer base. Therefore
every system should facilitate the customer satisfaction up to a certain extent
which is feasible from the company perspective.

11.BIBLIOGRAPHY

To develop this project may reference were used:

• https://www.google.com/

•https://www.pathwalla.com

•computer science with python by Sumit Arora, DhanpatRai published.

30

You might also like