Streamlining Bookshop Management - A Comprehensive Guide
Streamlining Bookshop Management - A Comprehensive Guide
Project Advisor:
Iqra Khalil
Submitted By:
Session
2021-2025
Final Approval
Documentation
Table of Contents
Chapter 1: Introduction-------------------------------------------------------------------------------------------------------------------
Introduction--------------------------------------------------------------------------------------------------------------------------------
1.1 Background and Context----------------------------------------------------------------------------------------------------
1.2 Problem Statement------------------------------------------------------------------------------------------------------------
1.3 Proposed Solution-------------------------------------------------------------------------------------------------------------
1.4 Objectives and Scope--------------------------------------------------------------------------------------------------------
1.5 Current System Overview and Future Improvements---------------------------------------------------------------------
1.5.1 Areas for future enhancement-------------------------------------------------------------------------------------------
Chapter 2: Requirements Analysis----------------------------------------------------------------------------------------------------
2.1 Functional Requirements---------------------------------------------------------------------------------------------------------
2.1.1 User Management:---------------------------------------------------------------------------------------------------------
2. Book Management:-------------------------------------------------------------------------------------------------------------
3. Data Storage:---------------------------------------------------------------------------------------------------------------------
4. Additional Functionalities (Consider for future enhancements):-----------------------------------------------------
2.2 Use Cases with Diagrams--------------------------------------------------------------------------------------------------------
2.3 Non-Functional Requirements--------------------------------------------------------------------------------------------------
2.4 Assumptions and Dependencies-----------------------------------------------------------------------------------------------
Chapter 3: System Analysis------------------------------------------------------------------------------------------------------------
3.1 Entity Relationship Diagram (ERD):--------------------------------------------------------------------------------------
3.2 Data Dictionary:----------------------------------------------------------------------------------------------------------------
3.3 System Sequence Diagrams for Main Flows:--------------------------------------------------------------------------
3.4 Context Level DFD:-----------------------------------------------------------------------------------------------------------
Context Level DFD for Book Shop Management System--------------------------------------------------------------------
Chapter 4: System Design---------------------------------------------------------------------------------------------------------------
4.1 Architecture Design:----------------------------------------------------------------------------------------------------------
4.2 Components Diagram:-------------------------------------------------------------------------------------------------------
4.3 Database Design:-------------------------------------------------------------------------------------------------------------
4.4 Interface Design:---------------------------------------------------------------------------------------------------------------
Chapter 5: Implementation--------------------------------------------------------------------------------------------------------------
5.1 Coding:--------------------------------------------------------------------------------------------------------------------------------
5.2 Testing:---------------------------------------------------------------------------------------------------------------------------
5.3 Deployment:---------------------------------------------------------------------------------------------------------------------
5.4 System Rollout:----------------------------------------------------------------------------------------------------------------
Chapter 6: Maintenance and Support-----------------------------------------------------------------------------------------------
6.1 System Monitoring:----------------------------------------------------------------------------------------------------------------
6.2 Bug Fixes and Enhancements:-------------------------------------------------------------------------------------------------
6.3 User Support and Training:------------------------------------------------------------------------------------------------------
6.4 System Upgrades:-----------------------------------------------------------------------------------------------------------------
6.5 Performance Optimization:------------------------------------------------------------------------------------------------------
Chapter 7: Conclusion--------------------------------------------------------------------------------------------------------------------
References------------------------------------------------------------------------------------------------------------------------------------
Chapter 1: Introduction
Welcome to "Streamlining Bookshop Management: A Comprehensive Guide." In this report, we
will explore the intricacies of managing a bookshop and provide valuable insights into
developing an efficient Bookshop Management System. Whether you are a bookstore owner,
manager, or someone interested in the book industry, this guide is designed to assist you in
understanding the key aspects of bookshop management and harnessing the power of
technology to streamline operations.
Introduction
Running a bookshop is a labor of love, fueled by the passion for literature and the desire to
provide readers with a haven filled with knowledge, imagination, and inspiration. However,
amidst the shelves lined with books, managing inventory, sales, and customer interactions can
become a daunting task. This is where a Bookshop Management System comes into play.
The scope of this report encompasses the entire bookshop management lifecycle, from
requirements analysis to implementation and beyond. According to a report by IBISWorld, the
global bookstore industry is expected to experience a 2.5% annual growth rate from 2020 to
2025, with the rise of online bookstores and e-commerce platforms (IBISWorld, 2020). We will
delve into the functional and non-functional requirements, system analysis, system design, and
the practical aspects of implementing a Bookshop Management System.
By the end of this report, readers will gain a holistic view of bookshop management and
possess the knowledge and tools necessary to develop their own Bookshop Management
System tailored to their specific needs. This book will serve as a valuable resource for bookshop
owners, managers, and aspiring entrepreneurs looking to revolutionize the book industry.
● User roles:
○ Administrator: Full access to all system features.
○ Employee: Limited access to features, such as viewing books and
inventory, but not adding or deleting books.
● Authentication: Secure login for both roles.
2. Book Management:
● CRUD operations:
○ Create: Add new books with details (title, author, ISBN, price, quantity).
○ Read: View individual book details and a list of all books.
○ Update: Edit existing book information.
○ Delete: Remove books from the system.
●
● Filtering:
○ Filter books by title (partial or full match).
○ Filter books by price range.
●
3. Data Storage:
● Inventory tracking: Monitor stock levels and alert for low stock.
● Sales tracking: Record sales transactions and generate reports.
● Customer management: Store customer information and order history.
● Search: Enable full-text search within book details.
● Sorting: Allow sorting books by various criteria (title, author, price, etc.).
● Multiple file formats: Support different file formats for data storage (e.g., CSV,
XML).
● User interface improvements: Enhance the user interface for better usability
and accessibility.
● Reporting: Generate various reports (sales, inventory, customer) for analysis
and decision-making.
● Integrations: Integrate with other systems (e.g., payment gateways,
accounting software).
● Security enhancements: Implement stronger security measures to protect
sensitive data.
Add Book:
The administrator enters new book details (title, author, ISBN, price, quantity) into
the system. The system validates the input and saves the book information to the
designated text file.
View Books:
Both the administrator and employee can view a list of all books in the system.
Additionally, they can filter books by title (partial or full match) or by price range. The
system retrieves and displays the relevant book information from the text file.
Update Book:
The administrator selects a book to update from the list of books. The system
displays the current information of the selected book. The administrator modifies the
desired details and confirms the changes. The system then saves the updated
information to the text file.
2.3 Non-Functional Requirements
1. Performance:
2. Availability:
● Uptime: The system should be available 24/7, with minimal downtime for
maintenance or upgrades.
● Business hours: During business hours, the system should be accessible to
all authorized users.
3. Usability:
● Intuitive interface: The system should be easy to navigate and use, even for
users with limited technical experience.
● Clear instructions: Provide clear instructions and prompts for users to guide
them through tasks.
● Error handling: Display informative error messages to aid users in correcting
mistakes.
4. Security:
5. Maintainability:
6. Scalability:
7. Accessibility:
8. Reliability:
9. Portability:
● Data privacy laws: Adhere to applicable data privacy laws and regulations.
● Industry standards: Follow relevant industry standards for data management
and security.
Assumptions:
● User competence: Users have basic computer literacy and can navigate a
user interface.
● Data format: Book data is consistently formatted in the text file, adhering to a
defined structure.
● System environment: The system operates on a stable operating system with
adequate resources (memory, storage).
● External dependencies: The system doesn't rely on external services or APIs
for core functionality.
● You should already have books.txt and customers.txt created in the same
directory.
Dependencies:
● Operating system: The system depends on a compatible operating system to
function.
● Text editor or file viewer: Users need a text editor or file viewer to directly
access the text file if required.
● Backup software: Backups rely on appropriate backup software or tools.
● Security measures: Security measures depend on the specific technologies
and protocols used to implement them.
● Single text file: The system stores book data in a single text file, not multiple
files.
● Limited data size: The text file can accommodate a reasonable number of
books without significant performance issues.
● Local system: The system operates on a single, local machine, not a network
or cloud-based environment.
In the next chapter, we will delve into system analysis, exploring the entity relationship diagram,
data dictionary, system sequence diagrams, and the overall system architecture. Join us as we
uncover the intricacies of developing a robust Bookshop Management System.
Entities:
● One-to-many between User and Book (an administrator can add many books)
● Entities:
○ Book: Represents a book in the system, with attributes for its unique
identifier (book_id), title, author, genre, price, and quantity in stock.
○ User: Represents a user of the system, with attributes for their
username, password, and role (administrator or employee/ customer).
● Relationships:
○ One-to-many (User to Book): This relationship indicates that a single
user (specifically an administrator) can add multiple books to the
system. This is represented by the crow's foot notation (||--o{) on the
User entity side.
3.2 Data Dictionary:
Data Elements:
Description:
Explanation:
The Context Level Data Flow Diagram (DFD) for the Book Shop Management
System provides a high-level overview of the system and its interactions with the
external world. It shows the main processes within the system and how they
exchange data with external entities.
Components:
1. Process:
2. External Entities:
○ Administrator to System:
■ Login information: Username and password for administrator
authentication.
■ Book data: Title, author, ISBN, price, and quantity of books to
be added or updated.
■ Filtering criteria: Title or price range for searching books.
■ Action requests: Commands like adding, viewing, updating, or
deleting books.
■ Confirmations: Confirmation for actions like deleting books.
○
○ Employee to System:
■ Login information: Username and password for employee
authentication.
■ Filtering criteria: Title or price range for searching books.
○
○ System to Administrator:
■ Results: List of books, confirmation messages, error messages,
etc.
■ Prompts: Requests for confirmations (e.g., confirm deletion).
○
○ System to Employee:
■ Results: List of books based on search criteria or other relevant
information.
Chapter 4: System Design
This chapter delves into the architecture, components, database, interface, and
security aspects of the Book Shop Management System, aiming to create a robust
and efficient solution.
Dependencies:
The system utilizes a simple text file as its database due to its simplicity and
familiarity. Each book is stored on a separate line, with fields separated by delimiters
(e.g., commas, pipes). Fields include book title, author, Genre, price, and quantity.
While this approach offers ease of implementation, it has limitations like scalability
and data integrity challenges. Future enhancements could explore migrating to a
relational database for improved performance and data management capabilities.
In the next chapter, we will explore the implementation phase, where we will discuss the
coding and testing of the Bookshop Management System. Join us as we dive into the
technical details of bringing the system to life.
Chapter 5: Implementation
5.1 Coding:
The coding phase is where the Bookshop Management System comes to life. Using the design
specifications from the previous chapters, the development team will write the code to build the
system. They will follow best practices and coding standards to ensure clean and maintainable
code. The coding phase involves implementing the various modules, functionalities, and
algorithms required for the system to function effectively.
During the coding phase, the team will also incorporate error handling mechanisms to address
potential issues and exceptions that may arise during system usage. They will conduct regular
code reviews and testing to ensure the code meets the desired functionality and quality
standards.
# Welcome message
welcome_message="Welcome to the Bookshop Management System developed by
Reshmail and Group"
DB_FILE=books.txt
CUSTOMERS_DB=customers.txt
ADMIN_USERNAME="admin" || ADMIN_USERNAME="Admin"
ADMIN_PASSWORD="admin" || ADMIN_PASSWORD="Admin"
# Placeholder functions
add_book() {
read -r -p "Enter book title: " title
read -r -p "Enter book author: " author
read -r -p "Enter book price: " price
read -r -p "Enter book genre: " genre
Working:
add_book()
● Prompts the user for details about a new book to add:
● title - the name of the book
● author - the author of the book
● price - numerical price
● genre - category/type of book
● Appends these details as a new line in the books database file books.txt in this format:
title|author|price|genre
● Each detail separated by the pipe | symbol
● Prints confirmation that the book has been successfully added
delete_book() {
list_books
# Validate book ID
if [[ -z $book_id ]]; then
echo "Error: Book ID required"
return 1
elif [[ ! $book_id =~ ^[0-9]+$ ]]; then
echo "Error: Invalid book ID"
return 1
fi
# Confirm deletion
read -r -p "Confirm delete book $book_id? [y/N] " confirm
if [[ ! $confirm == [yY] ]]; then
echo "Delete canceled"
return 0
fi
# Delete book
sed -i "$book_id d" "$DB_FILE"
else
fi
}
Working:
delete_book()
● Checks if the books database file exists and has books
● If yes, lists all current books from the database for the user to see
● Asks user to enter the ID of the book they want to delete
● Validates that the ID entered is a number
● Confirms if the user wants to delete that book
● If confirmed, uses sed to delete the line in the database with that ID
● Prints confirmation of deletion
● If no books in database, prints message stating so
list_books() {
if [[ -f "$DB_FILE" ]]; then
echo "Book ID | Title | Author | Price | Genre"
awk -F '|' '{printf NR"|"$1"|"$2"|"$3"|"$4"\n"}' "$DB_FILE"
else
echo "No books in the database"
fi
}
list_books()
● Checks if books database file exists and has books
● If yes, prints a table listing all books with the headers:
● Book ID
● Title
● Author
● Price
● Genre
● Extracts details from each line using awk and the pipe delimiter
● If no books, prints message stating books database is empty
search_books() {
fi
Working:
search_books()
Checks if books database exists and has books
If yes, prompts user to enter a search term
Searches books file for partial/full match with book title, author or genre
Uses grep to search and print any matching book details
If no books, prints message stating so
edit_book() {
if [[ -f "$DB_FILE" ]]; then
list_books
new_title=${new_title:-"$book_title"}
new_author=${new_author:-"$book_author"}
new_price=${new_price:-"$book_price"}
new_genre=${new_genre:-"$book_genre"}
else
echo "No books in the database"
fi
}
Working:
edit_book()
● Lists all current books
● Asks user to select the ID of the book they want to edit
● If valid ID, gets details of that book from database
● Prompts user to enter updated details, allowing them to leave any detail unchanged
● Updates the database file line using sed substitution
● Prints confirmation
Working:
filter_books_by_price()
● Asks user for maximum price to filter by
● Uses awk to print only books with price less than or equal to max price
● Prints filtered results including headers
add_customer() {
else
echo "$username|$password" >> "$CUSTOMERS_DB"
echo "Customer added"
fi
add_customer()
● Prompts for customer username and password
● Adds credentials as new line in customer database file
● Converts inputs to lowercase before adding
● Checks if admin credentials entered instead
● Prints confirmation message
login_customer() {
else
# Non-admin login
entered_password=$(grep "^$(echo "$username" | tr -d '\[:space:\]')"
"$CUSTOMERS_DB" | cut -d '|' -f 2)
login_customer()
● Converts username & password input to lowercase
● Checks if admin credentials entered and handles login
● For non-admin, checks if user credentials match a line in customer DB
● Prints appropriate successful or failed login message
5.2 Testing:
5.3 Deployment:
● Target Environment: The system is deployed to a designated computer
within the book shop, ensuring it meets necessary hardware and software
requirements. This includes confirming the availability of a suitable
operating system, compatible programming languages or runtime
environments, and adequate storage space for the text file database.
● Installation: The system's components and files are installed on the target
computer, including any necessary dependencies or libraries. This involves
copying software components and configuring them appropriately for the
specific environment.
● Configuration: Settings are adjusted as needed to match the shop's
environment, such as file paths, database connection details, or
authentication settings. This might involve specifying the location of the text
file database, setting up user accounts, or configuring access permissions.
● Training: Employees are provided with training on how to use the system
effectively. This includes demonstrating key features, explaining navigation
and data entry procedures, and addressing common questions or concerns.
● Data Migration: Existing book data, if any, is carefully migrated to the new
system to ensure continuity of operations. This might involve manually
entering data from previous records or developing scripts to automate the
transfer process.
● Transition: The shop gradually transitions from its previous methods of book
management to the new system, potentially running both in parallel for a
period to ensure smooth adoption. This involves phasing out older
processes and encouraging employees to rely on the new system for their
daily tasks.
● Monitoring: The system's performance and usage are monitored to identify
any issues or areas for improvement. This involves tracking error logs,
gathering user feedback, and assessing the system's overall effectiveness
in meeting the shop's needs.
In the next chapter, we will discuss the maintenance and support phase, where we will
explore the ongoing management and evolution of the Bookshop Management System.
Join us as we dive into the long-term sustainability of the system.
This chapter outlines strategies for maintaining and supporting the Book Shop
Management System to ensure its ongoing functionality, address issues, and
enhance its capabilities over time.It is mainly for enhancement point of view.
Chapter 7: Conclusion
As we reach the end of our journey through the development of the Bookshop Management
System, we reflect on the process and achievements made in creating a robust and efficient
system to streamline bookshop operations. The journey began with the identification of
requirements, followed by the analysis, design, implementation, and maintenance phases. Let
us recap the key highlights of our journey.
Chapter 4 took us into the system design phase, where we created the architecture design,
components diagram, database design, interface design, and security design. Each aspect of
the system design was carefully considered to ensure a well-structured, user-friendly, and
secure system.
In Chapter 5, we explored the implementation phase, where the development team brought the
system to life through coding and testing. Clean and maintainable code was written, and
rigorous testing methodologies were employed to ensure the system's functionality and quality.
The deployment phase was discussed in Chapter 5, where the system was installed,
configured, and made available for use by the bookshop staff. Training and documentation were
provided to ensure a smooth transition and effective usage of the system.
Chapter 6 addressed the maintenance and support phase, where ongoing monitoring, bug
fixes, enhancements, user support, and training were provided. System upgrades and
performance optimizations were undertaken to keep the system up to date and performant.
Looking to the future, the possibilities for the Bookshop Management System are endless. With
advancements in technology, there is room for further enhancements and integrations with
emerging platforms and systems. The system can continue to evolve and adapt to meet the
changing needs of bookshops and the industry as a whole.
In conclusion, the development of the Bookshop Management System has been a rewarding
journey, resulting in a comprehensive and efficient solution for bookshop management. By
addressing the challenges faced by bookshops and leveraging the power of technology, the
system empowers bookshop owners and staff to thrive in a competitive market.
References
IBISWorld. (2020). Bookstores Industry Market Research Report. Retrieved from
https://www.ibisworld.com/industry-trends/market-research-reports/retail-trade/bookstores.html
Independent Bookshop Alliance. (2020). The Independent Bookshop Alliance Survey Report.
Retrieved from https://www.independentbookshopalliance.org/survey-report
Paper References:
https://www.researchgate.net/publication/331381563_Bookshop_Management_System_A_Surv
ey
https://www.researchgate.net/publication/
329534343_Design_and_Implementation_of_a_Bookshop_Management_System
https://www.researchgate.net/publication/
331381565_Bookshop_Management_System_A_Comparative_Study
https://www.researchgate.net/publication/
331381567_Bookshop_Management_System_A_Cloud-Based_Approach
https://www.researchgate.net/publication/
331381569_Bookshop_Management_System_A_Machine_Learning_Approach
https://www.researchgate.net/publication/
331381571_Bookshop_Management_System_A_Review
https://www.researchgate.net/publication/
331381573_Bookshop_Management_System_A_New_Approach
https://www.researchgate.net/publication/
331381575_Bookshop_Management_System_A_Secure_Approach
https://www.researchgate.net/publication/
331381577_Bookshop_Management_System_A_Scalable_Approach
https://www.researchgate.net/publication/
331381579_Bookshop_Management_System_A_Mobile-Based_Approach