0% found this document useful (0 votes)
6 views24 pages

Book Store Management System Overview

The document outlines the Book Store Management System, a web application designed to automate operations in a bookshop, including order processing, stock management, and accounts management. It details the system's objectives, hardware and software requirements, project design, implementation, and source code. The system aims to simplify tasks, reduce paperwork, and provide a user-friendly interface for customers to purchase books online.

Uploaded by

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

Book Store Management System Overview

The document outlines the Book Store Management System, a web application designed to automate operations in a bookshop, including order processing, stock management, and accounts management. It details the system's objectives, hardware and software requirements, project design, implementation, and source code. The system aims to simplify tasks, reduce paperwork, and provide a user-friendly interface for customers to purchase books online.

Uploaded by

kaushalghule2706
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

lOMoARcPSD|23537352

INDEX

Sr No Title

1 Introduction

2 Hardware and software requirement

3 Project Design

4 System Implementation

5 Source code And Output

6 System Testing

7 Application

8 Conclusion

9 References
lOMoARcPSD|23537352

INTRODUCTION
Book Store Management System is the web application to automate all kinds of
operations in the book shop. The purpose of this software is to manage the books in the book
store. Generally, it includes the Order Processing, Stock Management and Accounts
Management. We developed this software to maintain records of sales, purchase and staff
records. This project developed in python. Here we are try to develop such type system which
is provide the automation on the any type of the bookshop. That means a shop which has the
type system which provides the facility to the customers of the shop to purchase the books
from the shop without any complexity.

At the start of the business, the books store owner buys the book from the dealers. All
the name of the books is noted down in the software along with rate. In the present system user
has to do all work manually. In present system during issuing order of more stock, the product
register is required to check to availability of stock in hand. And it takes time to check records.

The amount paid to a particular dealer from whom the book was bought is also saved in
the dealers tab. In present book store management system, to generate the reports based on the
management requirement, will require extensive searching of records. In case of Supplier and
Staff Record Management, the registers need to be updated time to time as information (like
Phone No., Address) changes frequently. The stock section gives the total number of book
stocks available in the store. When a customer buys a book from the store, a bill is generated.
The bill contains the name of the book purchased, rate per book, quantity, total rate and the
total amount. For example any customer want to purchase any book from the shop than first of
all customer just choose the stream of the book than he/she can see the more than one type of
books there and then he/she can choose the specific book from there. And then purchase it by
paying price on bookshop cash counter and receives its invoice.
lOMoARcPSD|23537352

3.1 Innovations in our Project

Our web application is developed in latest version of the python

• It is all browser compatibles.


• It is device independent.
• Faster development
• Easy to import code of other programming languages.
• Easy to learn

3.2 Objective of the Book-Store Management System

This Book Shop Management System is used to overcome the entire problem which
they are facing currently, and making manual system to computerized system. Purposed
BookStore Management system should help the customers query whether a book in a stock the
user can query the availability of a book either by using the book title or by using the name of
author. The objective and scope of my Project Book Shop Management System is to record the
details various activities of user. It simplifies the task and reduces the paper work. Book store
management system should generate sales statistics (book name, publisher, ISBN number,
number of copies sold and the sales revenue) for any period.

If customer request for a book and the book is not currently sold by the bookshop, then
the customer is asked to enter the full detail of the book for procurement of the book by the
bookshop. If the requested book is in stock, the exact number of copies available and the rack
number in which the book is located should be displayed. If a book not in the stock, the query
for the book is used to increment a request field for the book. In purposed system, As soon as
customer selects his book for purchase, the sale clerk would enter the ISBN number of the
books. Book store management system should update the stock and generate the sales receipt
for the book.
lOMoARcPSD|23537352

3.3 Modules of Book-Store Management System

1. Admin Module
2. Book Details Module
3. Customers Details Module
4. Employee Details Module
5. Supplier Details Module
6. Purchase Details Module
7. Reports Module
lOMoARcPSD|23537352

HARDWARE AND SOFTWARE REQUIREMENT

 Hardware Requirement:

I. i5 Processor Based Computer or higher

II. Memory: 4 GB RAM

III. Hard Drive: 1 TB

IV. Internet Connection

 Software Requirement:

I. Windows 10

II. Microsoft Excel

III. Microsoft Word


PROJECT DESIGN

5.1 Feasibility Study

• Technical Feasibility: Technical feasibility mainly associated with the technologically


evaluates the project. In this subject area generally a group of engineers or technical
expert studies the whole projects and technical aspects. This study facilitates said
organizations to proper assess. The industrial possessions may assemble capability.
Based on the results it decides whether the technical team is able to convert the idea
into real.

• Economic Feasibility: Economic feasibility study related with price, and all kind of
expenditure related with the scheme before the project start. This study also improves
project reliability. It is also helpful for the decision-makers to decide the planned
lOMoARcPSD|23537352

scheme processed latter or now, depending financial condition of the organization. This
evaluation process also studies the price benefits of the proposed scheme.

• Legal Feasibility: Legal feasibility study is use to conclude whether the proposed plan
or system is conflicts with the national or international legal requirements. Protection
Acts simply use to decide the any violation the legal requirements. It is also a planned
method.
• Operational Feasibility: Operational Feasibility may employ the responsibility to
examine and also decide whether the proposed methods fulfill all kind of business
requirements. It actions forecast all possible schemes to recognized and resolves
troubles. These studies may also examine and verify how the project planned guarantee
the method development is feasible or not.

• Scheduling Feasibility: A very significant part of feasibility study is scheduling


Feasibility. It is also play important roles to complete the project in its schedule time
5.2 Design and Analysis

5.2.1 Data Flow Diagram

A data-flow diagram (DFD) is a graphical representation of the "flow" of data through


an information system. DFDs can also be used for the visualization of data processing
(structured design). On a DFD, data items flow from an external data source or an internal data
store to an internal data store or an external data sink, via an internal process.

User Book
Search
s
Figure [Link]: DFD Level 0
lOMoARcPSD|23537352

Figure [Link]: DFD Level 0

SYSTEM IMPLEMENTATION

6.1 Purpose and Objective

The main objective of this project is to create an Electronic Book Store allows user to
search and purchase a book online based on category, author and subject. The selected books
are displayed and the user can order their books online through cash or DBBL. The
administrator will have additional functionalities when compared to the common user. The
motivation to create this project has many sources:

• Interest to develop a good user friendly website with many online transactions using a
database.
lOMoARcPSD|23537352

• To increase my knowledge horizon in technologies like PHP, Python, SQL, HTML,


CSS, and JavaScript.

• To reduce time consumption, labor requirement.

6.2 Project Overview


There are many online book stores like Powell’s, Amazon which were designed using
HTML.I want to develop a similar website using Python. Online Book Store is an online web
application where the customer can purchase books online.
lOMoARcPSD|23537352

6.3 Source Code

6.3.1 [Link]

from tkinter import * import


backend window = Tk() def
get_selected_row(event):
try:
global select_tup
index=[Link]()[0]
select_tup = [Link](index)
[Link](0,END)
[Link](END, select_tup[1])
[Link](0,END)
[Link](END, select_tup[2])
[Link](0,END)
[Link](END, select_tup[3])
[Link](0,END)
[Link](END, select_tup[4])
except IndexError:
pass
def view_command():
[Link](0,END) for
row in [Link]():
lOMoARcPSD|23537352

[Link](END, row)
def search_command():
[Link](0,END)

for row in [Link](title_text.get(),author_text.get(),year_text.get(), isbn_text.get()):


[Link](END,row) def add_book():
[Link](title_text.get(),author_text.get(),year_text.get(), isbn_text.get())
[Link](0,END) [Link](END,
(title_text.get(),author_text.get(),year_text.get(), isbn_text.get()))
def delete_book():
[Link](select_tup[0])
def update_book():
[Link](select_tup[0], title_text.get(),author_text.get(),year_text.get(), isbn_text.get())
window.wm_title("Book Store") l1 = Label(window, text="Title") [Link](row=0,column=0)
l2 = Label(window, text="Auther") [Link](row=0,column=2) l3 = Label(window,
text="Year") [Link](row=1,column=0) l4 = Label(window, text="ISBN")
[Link](row=1,column=2) title_text = StringVar() e1 = Entry(window, textvariable= title_text)
[Link](row=0, column=1) author_text = StringVar() e2 = Entry(window, textvariable=
author_text) [Link](row=0, column=3) year_text = StringVar() e3 = Entry(window,
textvariable= year_text)
[Link](row=1, column=1)
isbn_text = StringVar() e4 = Entry(window, textvariable= isbn_text) [Link](row=1,
column=3) list1 = Listbox(window, height=6, width=35) [Link](row=2, column
=0, rowspan=6, columnspan=2) [Link]("<<ListboxSelect>>", get_selected_row)
sb1 =Scrollbar(window) [Link](row=2, column=2 ,rowspan = 6)
[Link](yscrollcommand=[Link]) [Link](command=[Link]) b1
=Button(window, text= "View All", width=12, command=view_command)
[Link](row=2, column=3) b2 =Button(window, text= "Search Book", width=12,
lOMoARcPSD|23537352

command=search_command) [Link](row=3, column=3) b3 =Button(window,


text= "Add Book", width=12, command=add_book) [Link](row=4, column=3) b4
=Button(window, text= "Update", width=12, command=update_book)
[Link](row=5, column=3) b5 =Button(window, text= "Delete", width=12,
command=delete_book) [Link](row=6, column=3) b6 =Button(window, text=
"Close", width=12, command=[Link]) [Link](row=7, column=3)
[Link]()
6.3.2 [Link]
import sqlite3 def
connect():
conn =[Link]("[Link]")
cur= [Link]()
[Link]("CREATE TABLE IF NOT EXISTS book (id INTEGER PRIMARY KEY, title
text, author text, year integer, isbn integer) ") [Link]() [Link]()
def insert(title, author, year, isbn): conn =[Link]("[Link]") cur=
[Link]() [Link]("INSERT INTO book VALUES(NULL, ?,?,?,?)",
(title,author,year,isbn)) [Link]() [Link]()
def view():
conn =[Link]("[Link]")
cur= [Link]()
[Link]("SELECT * FROM book")
rows =[Link]()
[Link]() return rows
def search(title="", author="", year="", isbn=""):
conn =[Link]("[Link]") cur= [Link]() [Link]("SELECT *
FROM book WHERE title=? OR author=? OR year=? OR isbn=?",
(title,author,year,isbn)) rows =[Link]() [Link]() return rows
lOMoARcPSD|23537352

def delete(id):
conn =[Link]("[Link]")
cur= [Link]() [Link]("DELETE FROM book
WHERE id=?",(id,)) [Link]() [Link]()
def update(id, title, author, year,isbn ): conn =[Link]("[Link]") cur=
[Link]() [Link]("UPDATE book SET title=?, author=?, year=?, isbn=?
WHERE id=?",(title,
author, year, isbn,id))
[Link]() [Link]()
connect()

6.3.3 oop_app/bookstore/[Link]

from tkinter import * from oopBackend import


Database database= Database("[Link]")
window = Tk() def get_selected_row(event):
try:
global select_tup
index=[Link]()[0]
select_tup = [Link](index)
[Link](0,END)
[Link](END, select_tup[1])
[Link](0,END)
[Link](END, select_tup[2])
[Link](0,END)
[Link](END, select_tup[3])
lOMoARcPSD|23537352

[Link](0,END)
[Link](END, select_tup[4])
except IndexError:
pass
def view_command():
[Link](0,END) for
row in [Link]():
[Link](END, row)
def search_command(): [Link](0,END) for row in
[Link](title_text.get(),author_text.get(),year_text.get(), isbn_text.get()):
[Link](END,row)
def add_book():
[Link](title_text.get(),author_text.get(),year_text.get(), isbn_text.get())
[Link](0,END) [Link](END,(title_text.get(),author_text.get(),year_text.get(),
isbn_text.get()))
def delete_book():
[Link](select_tup[0])
def update_book():
[Link](select_tup[0], title_text.get(),author_text.get(),year_text.get(),
isbn_text.get()) window.wm_title("Book Store") l1 = Label(window, text="Title")
[Link](row=0,column=0)
l2 = Label(window, text="Auther")
[Link](row=0,column=2) l3 = Label(window,
text="Year") [Link](row=1,column=0) l4 =
Label(window, text="ISBN")
[Link](row=1,column=2) title_text =
lOMoARcPSD|23537352

StringVar() e1 = Entry(window, textvariable=


title_text) e
[Link](row=0, column=1) author_text = StringVar() e2 = Entry(window,
textvariable= author_text) [Link](row=0, column=3) year_text = StringVar() e3 =
Entry(window, textvariable= year_text) [Link](row=1, column=1) isbn_text =
StringVar() e4 = Entry(window, textvariable= isbn_text) [Link](row=1, column=3)
list1 = Listbox(window, height=6, width=35) [Link](row=2, column =0,
rowspan=6, columnspan=2) [Link]("<<ListboxSelect>>", get_selected_row)
sb1 =Scrollbar(window) [Link](row=2, column=2 ,rowspan = 6)
[Link](yscrollcommand=[Link]) [Link](command=[Link]) b1
=Button(window, text= "View All", width=12, command=view_command)
[Link](row=2, column=3) b2 =Button(window, text= "Search Book", width=12,
command=search_command) [Link](row=3, column=3)
b3 =Button(window, text= "Add Book", width=12, command=add_book)
[Link](row=4, column=3) b4 =Button(window, text= "Update",
width=12, command=update_book) [Link](row=5, column=3) b5
=Button(window, text= "Delete", width=12, command=delete_book)
[Link](row=6, column=3) b6 =Button(window, text= "Close", width=12,
command=[Link]) [Link](row=7, column=3)
[Link]()

6.3.4 oop_app/bookstore/[Link]

import sqlite3
class Database:
def init (self, db):
[Link] =[Link](db)
[Link]= [Link]()
lOMoARcPSD|23537352

[Link]("CREATE TABLE IF NOT EXISTS books1 (id INTEGER PRIMARY


KEY, title text, author text, year integer, isbn integer) ")
[Link]()
def insert(self,title, author, year, isbn):
[Link]("INSERT INTO books1 VALUES(NULL, ?,?,?,?)", (title,author,year,isbn))
[Link]()
def view(self): [Link]("SELECT * FROM books1") rows
=[Link]() return rows def search(self,title="", author="", year="",
isbn=""): [Link]("SELECT * FROM books1 WHERE title=? OR
author=? OR year=?
OR isbn=?",(title,author,year,isbn))
rows = [Link]() return
rows

def delete(self,id):
[Link]("DELETE FROM books1 WHERE id=?",(id,))
[Link]()
def update(self,id, title, author, year,isbn ):
[Link]("UPDATE books1 SET title=?, author=?, year=?, isbn=? WHERE
id=?",(title, author, year, isbn,id))
[Link]()
def del (self):
[Link]()

6.4.5. opp_app/account/[Link]

class Account():
def init (self, filepath):
lOMoARcPSD|23537352

[Link] = filepath with


open(filepath, 'r') as file:
[Link] = int([Link]())

def witdraw(self, amount): [Link]


= [Link] - amount

def deposit(self, amount):


[Link] = [Link] + amount
def commit(self):
with open([Link], "w") as file:
[Link](str([Link]))

account = Account("[Link]")
print([Link])

[Link](200)
print([Link])
[Link]()
lOMoARcPSD|23537352

6.4 Snap Shot


1. Add Books
lOMoARcPSD|23537352

[Link] all Books


lOMoARcPSD|23537352

SYSTEM TESTING
7.1 Test Procedure
1. The project is undergone through following test procedures:

2. Unit Testing

3. Integration Testing

4. System Testing

5. Regression Testing

7.1.1 Unit Testing

The primary goal of unit testing is to take the smallest piece of testable software in the
application, isolate it from the remainder of the code, and determine whether it behaves exactly
as you [Link] unit is tested separately before integrating them into modules to test the
interfaces between modules. Unit testing has proven its value in hat a large percentage of
defects are identified during its use.

7.1.2 Integration Testing

Integration testing is a logical extension of unit testing. In its simplest form, two units
that have already been tested are combined into a component and the interface between them is
tested. A component, in this sense, refers to an integrated aggregate of more than one unit. In a
realistic scenario, many units are combined into components, which are in turn aggregated into
even larger parts of the program.

The idea is to test combinations of pieces and eventually expand the process to
test your modules with those of other groups. Eventually all the modules making up a
process are tested together. Beyond that, if the program is composed of more than one
process, theyshould be tested in pairs rather than all at once.
lOMoARcPSD|23537352

7.1.3 System Testing

System testing is black box testing, performed by the test team, and at the start of the
system testing the complete system is configured in a controlled environment. The purpose of
system testing is to validate an application’s accuracy and completeness in performing the
functions as designed.

System testing simulates real life scenarios that occur in a “simulated real life” test
environment, and tests all functions of the system that are required in real life. System testing
is deemed complete when actual results and expected results are either in line or differences
are explainable or acceptable, based on client input.

7.1.4 Regression Testing

Any time you modify an implementation within a program, you should also do
regression testing. You can do so by rerunning existing tests against the modified code to
determine whether the changes break anything that worked prior to the change and by writing
new tests where necessary.

Adequate coverage without wasting time Try to spend as little time as possible doing
regression testing without reducing the probability that you will detect new failures in old,
already tested code.
APPLICATION

1. It provides “Better and efficient” services to members.


2. Reduce the workload of employee.
3. Faster retrieval of information about the desired book.
4. Provide facility for proper monitoring reduce paper work and provide data security
5. It is all browser compatibles.
6. It is device independent.
7. Faster development
8. Easy to import code of other programming languages.
9. Easy to learn

CONCLUSION
This system computerizes the Book Store management process in any book store. It
manages the different operations in book shop such as maintain record of available books.
Available Employees, keeps records of sales & purchase and view progress of employee. It has
the searching option along with the managing capability. New features and modules can be
added into the system as per user requirements.
REFERENCES

 [Link] = Bookstore
%20 m anagement%20system%20report%20in%20python%20is%20an%20attempt
%20to,reservin g%20and%20purchasing%20andof%20books

 [Link]

 [Link]

 [Link]

 [Link] -
source- code/

You might also like