ST.
XAVIER`S HIGH SCHOOL
KEDARGOURI, BHUBANESWAR
A Computer Science Project Report On
BOOKSTORE MANAGEMENT SYSTEM
SESSION: 2024-2025
SUBMITTED BY:
ARCHEE MOHANTY
Class: XII A
Roll no:
SUBMITTED TO:
Mr. Abhinav Tripathy
PGT (C.S.)
CERTIFICATE
This is to certify that ARCHEE MOHANTY of Class XII-A of
ST. XAVIER`S HIGH SCHOOL, KEDARGOURI, BBSR has
completed his project on Bookstore Management System under
the supervision of Mr. Abhinav Tripathy. He has taken interest
and has shown utmost sincerity in completion of this project.
I, certify this project up to my expectation & as per the guidelines
issued by CBSE, New Delhi.
INTERNAL EXAMINER EXTERNAL EXAMINER
PRINCIPAL
ACKNOWLEDGEMENT
I would like to express my special thanks of gratitude to my
teacher Mr. Abhinav Tripathy as well as the Principal Mrs.
Archana Mis h ra, who gave me this golden opportunity to
complete this wonderful project on the topic Book Store
Management System, which also helped me in doing a lot of
research and I came to know about many new things. I am really
thankful to my friends and family too .
ARCHEE MOHANTY
HARDWARE & SOFTWARE REQUIREMENTS
SOFTWARE
Operating System: Windows 10 and above
Platform: Microsoft Visual Studio Code
Database: MySQL
Language: Python
HARDWARE
Processor: Intel Core i5 11th Gen
Storage: 512 GB
Memory: 16 GB RAM
CONTENTS
Serial Topics Page
No. No.
1 About Python 6
2 About MySQL 7
3 Introduction 8
4 Source Code 11
5 Database 21
6 Output 23
6.1 Staff Member’s Screen 23
6.2 Customer’s Screen 26
7 Conclusion 30
8 Future Scope 31
9 References 32
ABOUT PYTHON
• High-level: Python is a high-level language, meaning it's designed to be easy
for humans to read and write, abstracting away many of the low-level details
of the computer.
• Versatile: Python is incredibly versatile and used in a wide range of
applications, including:
• Web Development: Frameworks like Django and Flask make it popular for
building web applications.
• Data Science & Machine Learning: Libraries like NumPy, Pandas, scikit-learn,
and TensorFlow make it a powerful tool for data analysis and machine
learning.
• Scripting and Automation: Python's simplicity makes it excellent for
automating tasks, such as file operations, data processing, and system
administration.
• Scientific Computing: Python is widely used in scientific research and
engineering due to its extensive scientific libraries.
• Large and Active Community: Python has a massive and active community,
meaning there's a wealth of resources available, including tutorials, libraries,
and support forums. This makes it easy to learn and find solutions to
problems.
• Readability: Python emphasizes code readability with its clean syntax and
clear structure, making it easier to write and maintain code.
• Cross-platform: Python is available on various operating systems (Windows,
macOS, Linux), making it highly portable.
• Open-source: Python is open-source, meaning it's free to use, distribute, and
modify.
These are just a few of the many reasons why Python is such a popular and
powerful programming language.
ABOUT MySQL
• Open-source and Free: MySQL is an open-source database management
system, meaning it's freely available and can be used, distributed, and
modified without cost.
• Relational Database: MySQL is a relational database, which means it
organizes data into tables with rows and columns, and defines relationships
between different tables. This structured approach makes it easy to manage
and query data efficiently.
• Popular and Widely Used: MySQL is one of the most popular database
systems worldwide, used by countless organizations and individuals for a
variety of purposes.
• Easy to Learn and Use: While powerful, MySQL is relatively easy to learn and
use, especially for those familiar with SQL (Structured Query Language).
• Performance and Scalability: MySQL is known for its performance and
scalability, making it suitable for a wide range of applications, from small
personal projects to large-scale enterprise systems.
• Cross-platform Compatibility: MySQL runs on various operating systems,
including Windows, macOS, and Linux, making it highly versatile.
• Strong Community Support: MySQL has a large and active community,
providing extensive documentation, tutorials, and support forums.
These points highlight the key features and advantages of MySQL, making it a
popular choice for database management in many different contexts.
INTRODUCTION
The traditional bookstores that once stood as cultural hubs are now undergoing a
metamorphosis in the face of technological advancements. The need for an efficient
and seamless Book Store Management System becomes increasingly evident. This
project aims not just to streamline the operations of bookstores but to usher them into
a new era of digital competence and customer satisfaction.
1. Changes in Bookstores:
Bookstores are no longer just physical spaces; they are evolving into multi-
dimensional entities that seamlessly blend the tangible and intangible aspects of
literary experiences. The Book Store Management System project emerges as a
beacon guiding bookstores through this transformative journey. It acknowledges
the evolving landscape of literature consumption while preserving the essence of
the traditional bookstore experience.
2. Need of Project:
In the digital age, where information travels at the speed of light, bookstores
must adapt or risk becoming relics of the past. he Book Store Management
System project recognizes the need for innovation in the management and
operation of bookstores. It seeks to address the challenges faced by bookstore
owners, managers, and customers alike.
2.1 Operational Efficiency:
One of the primary objectives of the project is to enhance the operational
efficiency of bookstores. Traditional inventory management systems, manual
record-keeping, and outdated sales processes often lead to inefficiencies and
errors. The Book Store Management System aims to automate these
processes, reducing the likelihood of human errors and allowing bookstore
staff to focus on providing an enriched customer experience.
2.2. Digital Integration:
The Book Store Management System will facilitate online sales, e-book
integration, and customer engagement through digital channels, ensuring
that bookstores remain relevant and accessible in an increasingly virtual
world.
3. Features and Functionalities:
Book Store Management System project are a junction of features and
functionalities designed to cater to the diverse needs of modern bookstores.
3.1. Inventory Management:
Efficient inventory management lies at the heart of a successful bookstore.
The project will implement a sophisticated inventory system that tracks stock
levels in real-time, automatically updating the database with each sale or
restock. This not only minimizes the risk of stockouts or overstocking but also
provides valuable insights into popular genres, authors, and trends.
3.2. E- Commerce Integration:
The project aims to integrate an e-commerce platform seamlessly with the
existing bookstore infrastructure, allowing customers to browse, purchase,
and receive their favorite books with the click of a button.
3.3. Analysis:
Data-driven decision-making is a cornerstone of success in any industry. The
Book Store Management System will provide detailed reports and analytics
on sales trends, and inventory turnover. This information empowers
bookstore owners and managers to make informed decisions, optimize stock
levels, and tailor their offerings to meet the evolving demands of their
customer base.
4. Benefits of the Book Store Management System:
The implementation of the Book Store Management System is not merely a
technological upgrade; it is a strategic investment that yields a multitude of
benefits for both bookstore owners and customers.
4.1. Improved Customer Experience:
Customers can expect quicker transactions, a more extensive selection of
books, and a seamless transition between the physical and digital aspects of
the bookstore.
4.2. Operational Efficiency:
The project's emphasis on automation reduces the burden on bookstore staff,
allowing them to focus on providing exceptional service rather than getting
bogged down by administrative tasks. This not only increases productivity but
also contributes to a more positive and engaging work environment.
4.3. Data Oriented Decision:
The reporting and analytics tools embedded in the system empower
bookstore owners to make informed decisions based on real-time data.
Whether it's adjusting inventory levels, optimizing pricing strategies, the
system provides the insights needed to stay ahead in a competitive market.
5. Challenges and Consideration:
While the Book Store Management System promises a myriad of benefits, its
implementation is not without challenges. Addressing these challenges is crucial to
ensuring the successful adoption and integration of the system into existing
bookstore operations.
5.2. Resistance to Change:
The transition from traditional manual processes to a digital management
system may be met with resistance from bookstore staff accustomed to
established routines. Effective training programs, clear communication of
benefits, and ongoing support are essential in overcoming this resistance and
fostering a positive attitude towards the new system.
5.3. Cost Of Implementation:
While the long-term benefits of the Book Store Management System are
substantial, there is an initial cost associated with its implementation.
Bookstore owners must carefully weigh these costs against the anticipated
benefits to make informed decisions about the system's implementation.
SOURCE CODE
def addBook():
book=input("Enter Book Name: ")
genre=input("Genre: ")
quantity=int(input("Enter quantity: "))
author=input("Enter author name: ")
publication=input("Enter publication house: ")
price=int(input("Enter the price: "))
[Link]("INSERT INTO available_books VALUES('{}','{}',{},'{}','{}',{})".format(
book,genre,quantity,author,publication,price))
[Link]()
print("++++++++++++++++++ SUCCESSFULLY ADDED ++++++++++++++++++")
n=int(input("Want To continue? Yes: 1 No: 2 \nOption: " ))
if n==1:
addBook()
elif n==2:
staff()
else:
print("Invalid Input")
def display_book_details(book_data):
print("******************************************")
print("Book Name: ", book_data[0])
print("Book Genre: ", book_data[1])
print("Book Available: ", book_data[2])
print("Book Author: ", book_data[3])
print("Publication: ", book_data[4])
print("Book Price: ", book_data[5])
print("******************************************")
def removeBook():
x=input("Are you sure(Y/N): ")
if x in "Yy":
ch=input("Enter Book Name to Delete: ")
[Link]("SELECT Book_Name FROM available_books WHERE Book_Name='{}'".format(ch))
e=[Link]()
if e:
[Link]("DELETE FROM available_books WHERE Book_Name='{}'".format(ch))
[Link]()
print("Record Deleted")
else:
print("Book not found")
n=int(input("Want To continue? Yes: 1 No: 2 \nOption: " ))
if n==1:
removeBook()
elif n==2:
staff()
else:
print("Invalid Input")
def display_sale_details(sale_data):
print("******************************************")
print("Customer Name: ", sale_data[0])
print("Customer Phone no: ", sale_data[1])
print("Book Purchased: ", sale_data[2])
print("Book Quantity: ", sale_data[3])
print("Book Price: ", sale_data[4])
print("Total Price: ₹",sale_data[3] * sale_data[4])
print("******************************************")
def sellRec():
[Link]("SELECT * FROM sell_rec")
records = [Link]()
if not records:
print("No Records Found")
return
for record in records:
display_sale_details(record)
n=int(input("Want To check again? Yes: 1 No: 2 \nOption: " ))
if n==1:
sellRec()
elif n==2:
staff()
else:
print("Invalid Input")
def totalIncome():
[Link]("SELECT sum(Price*Quantity) AS Total_Income FROM sell_rec")
d=[Link]()
if d[0] is not None:
total=int(d[0])
print("Total Sale Till Date: ₹",total)
else:
print("Total Sale Till Date: ₹0")
n=int(input("Want To recheck? Yes: 1 No: 2 \nOption: " ))
if n==1:
totalIncome()
elif n==2:
staff()
else:
print("Invalid Input")
def resetSellRec():
[Link]("SELECT COUNT(*) FROM sell_rec")
z = [Link]()
count = int(z[0])
if count == 0:
print("No selling records to reset.")
else:
confirm = input("Are you sure you want to reset all selling records? (Y/N): ")
if confirm in "Yy":
[Link]("TRUNCATE TABLE sell_rec")
[Link]()
print("++++++++++++++++++ ALL SELLING RECORDS CLEARED ++++++++++++++++++")
else:
print("Reset cancelled")
def available():
[Link]("SELECT * FROM available_books ORDER BY Book_Name")
b=[Link]()
for book in b:
display_book_details(book)
def usingName():
o=input("Enter Book's Name to search: ")
[Link]("SELECT Book_Name FROM available_books WHERE Book_Name = '{}'".format(o))
t=[Link]()
if t:
print("++++++++++++++++++ BOOK IS IN STOCK ++++++++++++++++++")
[Link]("SELECT * FROM available_books WHERE Book_Name = '{}'".format(o))
records = [Link]()
for record in records:
display_book_details(record)
else:
print("BOOK UNAVAILABLE!!!!!!!")
n=int(input("Want To retry? Yes: 1 No: 2 \nOption: " ))
if n==1:
usingName()
elif n==2:
customer()
else:
print("Invalid Input")
def usingGenre():
g=input("Enter Book's Genre to search: ")
[Link]("SELECT genre FROM available_books WHERE genre = '{}'".format(g))
j=[Link]()
if j:
print("++++++++++++++++++ BOOK IS IN STOCK ++++++++++++++++++")
[Link]("SELECT * FROM available_books WHERE genre = '{}'".format(g))
records = [Link]()
for record in records:
display_book_details(record)
else:
print("BOOK UNAVAILABLE!!!!!!!!")
n=int(input("Want To retry? Yes: 1 No: 2 \nOption: " ))
if n==1:
usingGenre()
elif n==2:
customer()
else:
print("Invalid Input")
def usingAuthor():
o=input("Enter Book's Author to search: ")
[Link]("SELECT Book_Name FROM available_books WHERE Author = '{}'".format(o))
t=[Link]()
if t:
print("++++++++++++++++++ BOOK IS IN STOCK ++++++++++++++++++")
[Link]("SELECT * FROM available_books WHERE Author = '{}'".format(o))
records = [Link]()
for record in records:
display_book_details(record)
else:
print("BOOK UNAVAILABLE!!!!!!!")
n=int(input("Want To retry? Yes: 1 No: 2 \nOption: " ))
if n==1:
usingAuthor()
elif n==2:
customer()
else:
print("Invalid Input")
def addStaff():
fname=input("Enter Name: ")
gender=input("Gender(M/F/O): ")
age=int(input("Age: "))
phno=int(input("Staff phone no.: "))
add=input("Address: ")
[Link](("INSERT INTO staff_details VALUES('{}','{}',{},{},'{}')".format(
fname,gender,age,phno,add)))
[Link]()
print("++++++++++++++++++ STAFF IS SUCCESSFULLY ADDED ++++++++++++++++++")
n=int(input("Want To continue? Yes: 1 No: 2 \nOption: " ))
if n==1:
addStaff()
elif n==2:
staff()
else:
print("Invalid Input")
def removeStaff():
f=input("Are you sure(Y/N): ")
if f in "Yy":
n=input("Enter Staff Name to Remove: ")
[Link]("SELECT Staff_Name FROM staff_details WHERE Staff_Name='{}'".format(n))
e=[Link]()
if e:
[Link]("DELETE FROM staff_details WHERE Staff_Name='{}'".format(n))
[Link]()
print("Staff removed.")
else:
print("Staff not found.")
n=int(input("Want To continue? Yes: 1 No: 2 \nOption: " ))
if n==1:
removeStaff()
elif n==2:
staff()
else:
print("Invalid Input")
def staffDetails():
[Link]("SELECT * FROM staff_details" )
d = [Link]()
for data in d:
display_staff_details(data)
n=int(input("Want To check again? Yes: 1 No: 2 \nOption: " ))
if n==1:
staffDetails()
elif n==2:
staff()
else:
print("Invalid Input")
def display_staff_details(staff_data):
print("******************************************")
print("Employee Name: ", staff_data[0])
print("Employee Gender: ", staff_data[1])
print("Employee Age: ", staff_data[2])
print("Employee Phone no: ", staff_data[3])
print("Employee Address: ", staff_data[4])
print("******************************************")
def staff():
flag=True
while flag:
print("********************************* MAIN MENU ********************************")
print(" 1. Update Books 2. Staff Details 3. Sale Record")
print(" 4. Total Income after the Latest Reset 5. See Available Books 6. Logout")
print("****************************************************************************")
n = int(input("Enter Your Choice: "))
# To Add Books into the database
if n == 1:
print("1:Add Book 2:Remove Book 3:Back ")
h = int(input("Enter your choice: "))
if h==1:
addBook()
elif h==2:
removeBook()
elif h==3:
break
else:
print("Invalid Input")
# Choice For Add Staff, Fire Staff, View Staff
elif n == 2:
print("1:Add Staff 2:Remove Staff 3:Existing Staff Details 4:Back")
ch = int(input("Enter your choice: "))
# NEW STAFF ENTRY
if ch == 1:
addStaff()
# REMOVE STAFF
elif ch == 2:
removeStaff()
# EXISTING STAFF DETAILS
elif ch == 3:
staffDetails()
elif ch == 4:
break
else:
print("Invalid Input")
# To See Selling histroy & altering it
elif n == 3:
print("[Link] history details [Link] Sell history [Link]")
y = int(input("Enter your choice: "))
if y == 1:
sellRec()
elif y == 2:
resetSellRec()
elif y == 3:
break
else:
print("Invalid Input")
# To view Total Income
elif n == 4:
totalIncome()
# Viewing Available Books as Staff
elif n == 5:
available()
n=int(input("Want To check again? Yes: 1 No: 2 \nOption: " ))
if n==1:
available()
elif n==2:
staff()
else:
print("Invalid Input")
# Exit
elif n == 6:
print("LOGGED OUT SUCCESSFULLY")
print("Database Connection Closed")
print("Thank You For Visiting")
flag=False
exit()
else:
print("Invalid Input")
def purchase():
print("AVAILABLE BOOKS...")
available()
[Link]("SELECT Customer_Name, PhoneNo FROM customer_details WHERE Username='{}'".format(
uname))
cust = [Link]()
cusname = cust[0]
phone = cust[1]
book=input("Enter Book Name: ")
book=[Link]()
n=int(input("Enter Quantity: "))
if n <= 0:
print("Invalid Input")
return
[Link]("SELECT Price FROM available_books WHERE Book_Name='{}'".format(book))
price_data = [Link]()
if price_data is not None:
price = price_data[0]
else:
print("Book not found.")
return
[Link]("SELECT Quantity FROM available_books WHERE Book_Name='{}'".format(book))
k = [Link]()
if k is not None:
m = int(k[0])
if m < n:
print("Books are unavailable!!!!")
else:
[Link]("SELECT Book_Name FROM available_books WHERE Book_Name='{}'".format(
book))
log=[Link]()
if log is not None:
[Link]("INSERT INTO sell_rec VALUES ('{}',{},'{}',{},{})".format(
cusname, phone, book, n, price))
[Link]("UPDATE available_books SET Quantity={} WHERE Book_Name='{}'".format(
m-n,book))
[Link]()
print("++++++++++++++++++ BOOK HAS BEEN SOLD ++++++++++++++++++")
else:
print("BOOK RECORD NOT AVAILABLE!!!!!!!")
n=int(input("Want To buy more? Yes: 1 No: 2 \nOption: " ))
if n==1:
purchase()
elif n==2:
customer()
else:
print("Invalid Input")
def customer():
flag=True
while flag:
#USER Choices
print("********************************* MAIN MENU ********************************")
print("[Link] Books [Link] Books [Link] Books [Link]")
r=int(input("Enter Your Choice: "))
#TO PURCHASE BOOK
if r==1:
purchase()
#Searching of books using Name,Genre,Author
elif r==2:
print("1:Search by name 2:Search by genre 3:Search by author 4:Back")
l=int(input("Search: "))
#Searching Using Name of Book
if l==1:
usingName()
#Searching Using Genre of Book
elif l==2:
usingGenre()
#Searching Using Author Name
elif l==3:
usingAuthor()
elif l==4:
break
else:
print("Invalid Input")
#To See Available Books
elif r==3:
available()
n=int(input("Want To recheck? Yes: 1 No: 2 \nOption: " ))
if n==1:
available()
elif n==2:
customer()
else:
print("Invalid Input")
#To Exit
elif r==4:
print("LOGGED OUT SUCCESSFULLY")
print("Database Connection Closed")
print("Thank You For Visiting")
flag=False
exit()
else:
print("Invalid Input")
#MAIN PROGRAM
import [Link]
global c
global uname
q=input("Enter password to connect to Database: ")
try:
db=[Link](
host="localhost",
user="root",
password=q,
database='Bookstore')
c=[Link]()
except [Link] as err:
print("Connection failed. \n",err)
try:
[Link]("CREATE TABLE IF NOT EXISTS available_books("
"Book_Name VARCHAR(50),"
"Genre VARCHAR(50),"
"Quantity INT,"
"Author VARCHAR(50),"
"Publication VARCHAR(50),"
"Price INT"
")")
[Link]("CREATE TABLE IF NOT EXISTS customer_details("
"Customer_Name VARCHAR(50),"
"Username VARCHAR(50),"
"Password VARCHAR(50),"
"PhoneNo BIGINT(10)"
")")
[Link]("CREATE TABLE IF NOT EXISTS sell_rec ("
"Customer_Name VARCHAR(50) PRIMARY KEY,"
"Phone_Number BIGINT(10),"
"Book VARCHAR(50),"
"Quantity INT,"
"Price INT"
")")
[Link]("CREATE TABLE IF NOT EXISTS staff_details("
"Staff_Name VARCHAR(50) PRIMARY KEY,"
"Gender CHAR(1),"
"Age INT,"
"PhoneNo BIGINT(10),"
"Address VARCHAR(100)"
")")
[Link]("CREATE TABLE IF NOT EXISTS staff_login ("
"username VARCHAR(50) PRIMARY KEY,"
"password VARCHAR(50) NOT NULL"
")")
[Link]("INSERT IGNORE INTO available_books VALUES "
"('The Great Gatsby', 'Fiction', 15, 'F. Scott Fitzgerald', 'Scribner', 599),"
"('To Kill a Mockingbird', 'Classic', 20, 'Harper Lee', 'Grand Central', 499),"
"('1984', 'Science Fiction', 25, 'George Orwell', 'Penguin Books', 450),"
"('Pride and Prejudice','Romance', 18, 'Jane Austen','Penguin Classics', 399),"
"('The Hobbit', 'Fantasy', 30, 'J.R.R. Tolkien', 'Houghton Mifflin', 699),"
"('The Catcher in the Rye','Fiction', 22,'J.D. Salinger','Little, Brown', 549),"
"('The Da Vinci Code', 'Thriller', 35, 'Dan Brown', 'Anchor Books', 599),"
"('Harry Potter and the Sorcerer''s Stone','Fantasy',40,'J.K. Rowling','Scholastic', 799),"
"('The Alchemist', 'Fiction', 28, 'Paulo Coelho', 'HarperOne', 399),"
"('The Silent Patient','Thriller',25,'Alex Michaelides','Celadon Books', 649)")
[Link]("INSERT IGNORE INTO customer_details VALUES "
"('John','john','pass123',9434615877),"
"('Emma','emma','book456',8987656787),"
"('Mike','mike','read789',7667887644),"
"('Sarah','sarah','bookworm101',9543234805),"
"('Alex','alex','12122',8763304166)")
[Link]("INSERT IGNORE INTO staff_details VALUES "
"('Abhinav', 'M', 35, 9437303382, '123 Times Street, New York City'),"
"('Anushka', 'F', 28, 8765432109, '456 Park Avenue, China Town'),"
"('Aradhana', 'F', 42, 7654321098, '789 Lake Road, Washington DC'),"
"('Archee', 'F', 31, 6543210987, '321 Hill Street, Area 51'),"
"('Ava', 'F', 26, 9432109876, '654 River Lane, Riva Zona')")
[Link]("INSERT IGNORE INTO staff_login VALUES "
"('Abhinav','director@123'),"
"('Anushka','manager@123'),"
"('Aradhana','chairman@123'),"
"('Archee','teamlead@123'),"
"('Ava','projectlead@123')")
except:
print("Error Occured")
exit()
while True:
print()
print("**************************** Welcome To The Book Store ****************************")
a=int(input("Enter as Employee: 1 Enter as Customer: 2 Exit: 3 \nOption: "))
if a==1:
print("1. login 2. Back")
b=int(input("Enter Your Choice: "))
#Login
if b==1:
sname = input("Enter Your Username: ")
p = input("Enter Your Password: ")
[Link]("SELECT username, password FROM staff_login WHERE username='{}'".format(
sname))
user = [Link]()
if p == user[1]: # Compare with stored password
print("LOGGED IN SUCCESSFULLY")
staff()
else:
print("Couldn't Login")
else:
break
elif a==2:
s=int(input("1. Signup 2. login 3. Back \nEnter Your Choice: "))
#Sign-Up
if s==1:
custname=input("Customer Name: ")
uname=input("Username: ")
password=input("Password: ")
phno=int(input("Phone Number: "))
[Link]("INSERT INTO customer_details VALUES ('{}','{}','{}',{})".format(
custname,uname,password,phno))
[Link]()
print("Sign Up Completed")
#Log in
elif s==2:
uname = input("Enter Your Username: ")
p = input("Enter Your Password: ")
[Link]("SELECT username,password FROM customer_details WHERE username='{}'".format(
uname))
user = [Link]()
if p == user[1]: # Compare with stored password
print("LOGGED IN SUCCESSFULLY")
customer()
else:
print("Couldn't Login")
elif s==3:
break
else:
print("Invalid Input")
elif a==3:
break
else:
print("Invalid Input")
print("Thank You For Visiting")
[Link]()
[Link]()
DATABASE
All Tables under Database Book_store
Table available_books with all entries
Table customer_details with all entries
Table sell_rec with all entries
Table staff_details with all entries
Table staff_login with all entries
OUTPUT
***Staff Member’s Screen***
1. Main Menu :
2. Update Books :
2.1. Add Books :
2.2. Remove Books :
3. Staff Details :
3.1 Add Staff :
3.2 Remove Staff :
4. Sale Record :
4.1. Sell History Details :
5. Logging Out :
***Customer’s Screen***
1. Sign Up :
2. Login :
3. Searching Books :
3.1 Using Name :
3.2 Using Author :
3.3 Using Genre :
4. Purchasing a Book:
5. Logging Out :
CONCLUSION
The Book Store Management System successfully implements a
comprehensive solution for managing a bookstore's operations with the
following key achievements-
Dual Interface System:
- Separate interfaces for staff and customers with secure login functionality
- Role-based access control ensuring appropriate feature access
Core Functionalities:
- Complete inventory management for books
- Staff management capabilities
- Sales tracking and reporting
- Customer purchase system
- Multiple search options for books
Database Integration:
- Robust MySQL database implementation
- Data persistence across sessions
- Structured tables for books, staff, customers and sales
FUTURE SCOPE
Technical Enhancements:
- Implement a graphical user interface using frameworks like tkinter or PyQt
- Add data export functionality to CSV/Excel formats
- Integrate barcode scanning for inventory management
- Implement automated backup systems
Business Features:
- Add online payment gateway integration
- Implement a loyalty points system for customers
- Create an automated reordering system when inventory is low
- Add email notifications for order confirmations
- Generate detailed analytics and sales reports
Customer Experience:
- Develop a recommendation system based on purchase history
- Add book reviews and ratings functionality
- Implement a reservation system for upcoming books
- Create a mobile app version
- Add wishlist functionality
Administrative Features:
- Add employee shift management
- Implement automated salary calculation
- Create supplier management system
- Add multi-branch support
- Implement advanced inventory analytics
The system provides a strong foundation that can be enhanced with these
features to create an even more powerful bookstore management solution.
REFERENCES
⚫ Computer Science with Python Class XII by Sumita Arora
⚫ [Link]
⚫ [Link]
⚫ [Link]