Organized

Download as pdf or txt
Download as pdf or txt
You are on page 1of 24

BOOK CATALOGUE MANAGEMENT

TEXT IN PYTHON

A PROJECT REPORT

Submitted by
BHARANIDHARAN.K(2303811710421016)

in partial fulfillment for the completion of the course


CGB1121- PYTHON PROGRAMMING
in
COMPUTER SCIENCE AND ENGINEERING

K.RAMAKRISHNAN COLLEGE OF TECHNOLOGY


(An Autonomous Institution, Affiliated to Anna University Chennai and Approved by AICTE, New Delhi)

SAMAYAPURAM – 621 112


MAY, 2024

i
K.RAMAKRISHNAN COLLEGE OF TECHNOLOGY
(AUTONOMOUS)
SAMAYAPURAM – 621 112

BONAFIDE CERTIFICATE

Certified that this project report titled “BOOK CATALOGUE MANAGEMENT


SYSTEM” is the bonafide work of BHARANIDHARAN.K (2303811710421016) who
carried out the project Theunder my supervision. Certified further, that to the best of my
knowledge the work reported here in does not form part of any other project report or
dissertation on the basis of which a course was conferred on an earlier occasion on this or
any other candidate.

SIGNATURE
SIGNATURE
Dr.A.Delphin Carolina Rani, M.E.,Ph.D.,
Mrs.S. GAYATHRI, M.E.,
HEAD OF THE DEPARTMENT
SUPERVISOR
PROFESSOR
ASSISTANT PROFESSOR
Department of CSE
Department of CSE
K. Ramakrishnan College of
K.Ramakrishnan College of
Technology (Autonomous)
Technology (Autonomous)
Samayapuram – 621 112.
Samayapuram – 621 112.

Submitted for the viva-voce examination held on ……18.6.2024…...

ii
DECLARATION

I declare that the project report on “BOOK CATALOGUE MANAGEMENT


SYSTEM” is the result of original work done by us and best of our knowledge, similar
workhas not been submitted to “ANNA UNIVERSITY CHENNAI” for the requirement of
Degree of BACHELOR OF ENGINEERING. This project report is submitted on the
partial fulfilment of the requirement of the completion of the course CGB1121- PYTHON
PROGRAMMING.

Signature

BHARANIDHARAN.K

Place: Samayapuram
Date:18.6.2024

iii
ACKNOWLEDGEMENT

It is with great pride that I express our gratitude and in-debt to our institution
“K.Ramakrishnan College of Technology (Autonomous)”, for providing us with the
opportunity to do this project.

I glad to credit honourable chairman Dr. K. RAMAKRISHNAN, B.E., for having


provided for the facilities during the course of our study in college.

I would like to express our sincere thanks to our beloved Executive Director Dr. S.
KUPPUSAMY, MBA, Ph.D., for forwarding to our project and offering adequateduration
in completing our project.

I would like to thank Dr. N. VASUDEVAN, M.Tech., Ph.D., Principal, who gave
opportunity to frame the project the full satisfaction.

I whole heartily thanks to Dr. A. DELPHIN CAROLINA RANI, M.E.,Ph.D., Head


of the department, COMPUTER SCIENCE AND ENGINEERING for providing her
encourage pursuing this project.

I express our deep expression and sincere gratitude to our project guide Mrs. S.
GAYATHRI, M.E., Department of COMPUTER SCIENCE AND ENGINEERING, for
his incalculable suggestions, creativity, assistance and patiencewhich motivated us to carry
out this project.

I render our sincere thanks to Course Coordinator and other staff members for
providing valuable information during the course.

I wish to express our special thanks to the officials and Lab Technicians of our
departments who rendered their help during the period of the work progress.

iv
VISION OF THE INSTITUTION
To emerge as a leader among the top institutions in the field of technical education.

MISSION OF THE INSTITUTION


• Produce smart technocrats with empirical knowledge who can surmount the global
challenges.

• Create a diverse, fully-engaged, learner-centric campus environment to provide quality


education to the students.

• Maintain mutually beneficial partnerships with our alumni, industry, and Professional
associations.

VISION OF DEPARTMENT
To be a center of eminence in creating competent software professionals with research and
innovative skills.

MISSION OF DEPARTMENT
M1: Industry Specific: To nurture students in working with various hardware and software
platforms inclined with the best practices of industry.

M2: Research: To prepare students for research-oriented activities.

M3: Society:To empower students with the required skills to solve complex technological problems
of society.

PROGRAM EDUCATIONAL OBJECTIVES


1. PEO1: Domain Knowledge
To produce graduates who have strong foundation of knowledge and skills in the field of
Computer Science and Engineering.
2. PEO2: Employability Skills and Research
To produce graduates who are employable in industries/public sector/research organizations
or work as an entrepreneur.
3. PEO3: Ethics and Values
To develop leadership skills and ethically collaborate with society to tackle real-world
challenges.

v
PROGRAM OUTCOMES (POs)
Engineering students will be able to:

1. Engineering knowledge: Apply the knowledge of mathematics, science, engineering fundamentals,


and an engineering specialization to the solution of complex engineering problems.

2. Problem analysis: Identify, formulate, review research literature, and analyze complex
engineering problems reaching substantiated conclusions using first principles of mathematics,
natural sciences, and engineering sciences

3. Design/development of solutions: Design solutions for complex engineering problems and


design system components or processes that meet the specified needs with appropriate
consideration for the public health and safety, and the cultural, societal, and environmental
considerations

4. Conduct investigations of complex problems: Use research-based knowledge and research


methods including design of experiments, analysis and interpretation of data, and synthesis of
the information to provide valid conclusions

5. Modern tool usage: Create, select, and apply appropriate techniques, resources, and modern
engineering and IT tools including prediction and modeling to complex engineering activities

with an understanding of the limitations

6. The engineer and society: Apply reasoning informed by the contextual knowledge to assess
societal, health, safety, legal and cultural issues and the consequent responsibilities relevant to
the professional engineering practice

7. Environment and sustainability: Understand the impact of the professional engineering


solutions in societal and environmental contexts, and demonstrate the knowledge of, and need
for sustainable development

8. Ethics: Apply ethical principles and commit to professional ethics and responsibilities and
norms of the engineering practice.
vi
9. Individual and team work: Function effectively as an individual, and as a member or leader in
diverse teams, and in multidisciplinary settings.

10. Communication: Communicate effectively on complex engineering activities with the


engineering community and with society at large, such as, being able to comprehend and write
effective reports and design documentation, make effective presentations, and give and receive
clear instructions.
11. Project management and finance: Demonstrate knowledge and understanding of the
engineering and management principles and apply these to one’s own work, as a member and
leader in a team, to manage projects and in multidisciplinary environments.

12. Life-long learning: Recognize the need for, and have the preparation and ability to engage in
independent and life-long learning in the broadest context of technological change.

vii
ABSTRACT

A Book Catalogue Management System is a software application designed to streamline the

organization, tracking, and management of books within a library, bookstore, or personal collection.

The system’s primary purpose is to provide a centralized platform for cataloging books, facilitating

efficient retrieval and inventory control.Users can enter book details such as title, author, genre,

ISBN, and publication date. The system supports classification by categories and subcategories to

ensure organized storage and easy access.An advanced search function allows users to quickly

locate books using various criteria such as title, author, genre, or keywords. This feature is essential

for reducing the time spent searching for specific books.

viii
TABLE OF CONTENTS

CHAPTER TITLE PAGE NO.


ABSTRACT viii
LIST OF FIGURES X
LIST OF ABBREVIATIONS xi
1 INTRODUCTION
1.1INTRODUCTION TO PYTHON 1
1.1.1. Overview 1
1.1.2. Programming Paradigms 1
1.1.3. Standard Library 1
1.1.4. Third-Party Libraries and Frameworks 1
1.1.5. Versions of Python 1
1.1.6. Python Tools 2
1.1.7. Versatility and Adoption 2
2 PROJECT DESCRIPTION
2.1. PROJECT INTRODUCTION 3
2.2. PROJECT OBJECTIVE 3
2.3. PROBLEM STATEMENT 3
2.4. LIBRARIES USED 3
3 SYSTEM ANALYSIS
3.1. EXISTING SYSTEM 4
3.1.1. Disadvantages 4
3.2 PROPOSED SYSTEM 5
3.2.1. Advantage 5
4 SYSTEM DESIGN & MODULES
4.1. BLOCK DIAGRAM 6
4.2. MODULE DESCRIPTION 6
4.2.1.Method 6
4.2.2.Book Management Module 7
4.2.3.Output text Module 8
5 CONCLUSION & FUTURE ENHANCEMENT
5.1. CONCLUSION 10
5.2. FUTURE ENHANCEMENT 10
6 APPENDICES
Appendix A-Source code 11
Appendix B -Screen shots 13
ix
LIST OF FIGURES

FIGURE NO TITLE PAGE NO.

4.1 BLOCK DIAGRAM 18

x
LIST OF ABBREVIATIONS

ABBREVIATIONS

IDE - Integrated Development Environment


VS Code - Visual Studio Code
Re - Regular Expression
iOS - Iphone Operating System
NLP - Natural Language Processing
GUI - Graphical User Interface
APIs - Application Programming Interface

xi
CHAPTER 1
INTRODUCTION
1.1 INTRODUCTION TO PYTHON
1.1.1. Overview
Python is a widely-used, high-level programming language renowned for its
readability and simplicity, making it an ideal choice for both novice and seasoned
programmers. Created by Guido van Rossum and released in 1991, Python's core
philosophy emphasizes code readability and straightforward syntax, allowing developers
to write clear and concise code more efficiently compared to other languages like C++ or
Java.

1.1.2. Programming Paradigms

Python supports various programming paradigms, including procedural, object-


oriented, and functional programming. This flexibility, combined with a dynamic type
system and automatic memory management, facilitates the development of a wide range
of applications, from simple scripts to complex software systems.

1.1.3. Standard Library


The language's comprehensive standard library, often referred to as "batteries-
included," provides built-in modules and functions for handling many programming
tasks, such as file I/O, system calls, and even web services. This extensive library helps
streamline the development process by offering ready-to-use solutions for common
programming challenges.

1.1.4. Third-Party Libraries And Frameworks


One of Python's significant strengths is its extensive ecosystem of third-party
libraries and frameworks. Popular libraries such as NumPy and Pandas enable efficient
data manipulation and analysis, while frameworks like Django and Flask streamline web
development. In the realm of machine learning and artificial intelligence, libraries like
TensorFlow and PyTorch are widely adopted for building and deploying sophisticated
models.

1.1.5. Versions Of Python


Python has undergone significant evolution since its inception, with two major
versions in use
today:
Python 2: Released in 2000, Python 2.x series was a major milestone and widely
used for many years. However, it reached its end of life on January 1, 2020, and is no
longer maintained.

1
Python 3: Introduced in 2008, Python 3.x series brought substantial improvements
and changes to the language, such as better Unicode support, a more consistent syntax,
and enhanced standard libraries. Python 3 is the recommended version for all new
projects.

1.1.6. Python Tools

Python's ecosystem includes numerous tools that enhance productivity and


development experience:

• IDEs and Code Editors: Popular options include PyCharm, VS Code, and
Jupyter Notebook, which offer features like syntax highlighting, code completion,
and debugging.

• Package Management: Tools like pip and conda facilitate the installation and
management of Python libraries and dependencies.

• Virtual Environments: virtualenv and venv allow developers to create isolated


environments for different projects, ensuring dependency conflicts are avoided.

• Testing Frameworks: unittest, pytest, and nose are commonly used for writing
and running tests to ensure code reliability and correctness.

• Build Tools: setuptools and wheel help in packaging Python projects, making
them easy to distribute and install.
• Documentation Generators: Tools like Sphinx are used to create comprehensive
documentation for Python projects.
• Linters and Formatters: pylint, flake8, and black help maintain code quality and
consistency by enforcing coding standards and formatting.

1.1.7. Versatility And Adoption


Python's simplicity and versatility have led to its widespread adoption in various
fields, including web development, data science, artificial intelligence, automation, and
scientific computing. Its active community continually contributes to a rich repository of
resources, tutorials, and documentation, making it easier for developers to learn and
apply Python effectively.

2
CHAPTER 2

PROJECT DESCRIPTION

2.1. PROJECT INTRODUCTION

The Book Catalogue Management System (BCMS) project is an


initiative aimed at developing a comprehensive software solution to improve the
organization, management, and accessibility of book collections in various settings,
such as libraries, bookstores, academic institutions, and private collections.

2.2. PROJECT OBJECTIVE


Establish a centralized database for storing detailed book information, ensuring
that all data is easily accessible and manageable from a single platform.Develop
robust functionalities for entering and classifying book details, allowing for
systematic organization by categories, genres, authors, and other relevant criteria.

2.3. PROBLEM STATEMENT


The Book Catalogue Management System project aims to develop a
comprehensive and user-friendly software application that facilitates the efficient
organization, tracking, and management of book collections in libraries, bookstores,
academic institutions, and personal collections. The system will provide centralized
cataloging, advanced search capabilities, real-time inventory management, user
management features, and robust reporting tools

2.4. LIBRARIES USED


The following Python libraries are utilized in this project to achieve the
desired
functionality:

• Json:This library is used to work with JSON data. It is utilized to load the book
catalog from a JSON file and to save the catalog back to the file.

• Os: This library provides a way to interact with the operating system. It is used
to check if the JSON file exists before attempting to load it.

3
CHAPTER 3

SYSTEM ANALYSIS

3.1. EXISTING SYSTEM

The provided code snippet describes an existing system that implements a simple
Book Catalog application using Python. The system allows users to add, view, and
search for books within a catalog that is stored in a JSON file.

3.1.1. DISADVANTAGES

1. Limited Search Functionality: The search capabilities might be basic,allowing


only simple keyword or title searches. This can make it difficult to locate specific
books, especially if users are looking for books by topic, author, genre, or other
advanced criteria.Advanced search options, such as boolean searches or filtering
by multiple attributes, are often absent, which hampers efficient retrieval of
information.

2. Compatibility and Accessibility: The system may not be compatible with various
devices and operating systems, limiting access for users who prefer or require
different platforms.Additionally, if the system does not support web-based access
or mobile devices, it restricts users to specific locations or devices, reducing
overall accessibility.

3. Performance Issues: The existing system might suffer from slow response times,
especially when handling large volumes of data. This can lead to delays in
accessing information and reduce overall user satisfaction.

4. Limited Collaboration Features: Modern library systems often require


collaboration features, such as sharing book lists, reviews, and notes among users.

5. Storage Issues: The system may have limited storage capacity, making it
challenging to manage and catalog a growing collection of books. This can lead to
data loss, inability to add new records, or frequent need for manual data purges.
Limited storage can also impact backup and recovery processes, putting data at
risk.

4
3.2. PROPOSED SYSTEM
The proposed system, "A Book Catalogue Management System (BCMS)” is
designed to streamline the cataloging, searching, and managing of books. This system
can be used by libraries, bookstores, or any institution that deals with a large collection
of books. The system will be web-based, allowing users to access it from any device
with internet connectivity.

3.2.1. ADVANTAGES
1. Search and Browse
a. Efficient Navigation: Users can quickly find books using various search
criteria like title, author, genre, or ISBN.
b. Advanced Filters: Users can apply filters and sorting options to refine
search results, making it easier to find specific books.
c. Time-Saving:Reduces the time spent by users in manually searching
through physical catalogs or shelves.

2. Book Management
a. Centralized Database: A single, centralized database for all book
information ensures consistency and reduces errors.
b. Bulk Import/Export: Efficiently manage large collections through bulk
operations, saving time and reducing manual effort.

3. User Interaction
a. User Dashboards: Users have access to personalized dashboards showing
their borrowing history, due dates, and recommendations.
b. Feedback Mechanism: Users can provide reviews and ratings, enhancing
community engagement.
c. Interactive Features: Allow users to reserve books, create wish lists, and
track their reading progress.
4. Notifications
a. Due Date Reminders: Reduce overdue instances by sending timely
reminders for due dates.
b. Reservation Alerts: Notify users when reserved books become available.
c. Event Notifications: Inform users about upcoming events, new arrivals, and
special promotions
5. Mobile App Integration
On-the-Go Access: Users can access the catalogue and manage their accounts
from anywhere, increasing convenience
Push Notifications: Instant updates and reminders via push notifications
directly to the user’s mobile device.

5
CHAPTER 4

SYSTEM DESIGN & MODULES

4.1. BLOCK DIAGRAM

BOOK CATALOG SYSTEM

USER INTERFACE FILE STORAGE


MODULE

MAIN PROGRAM
LOOP BOOK MANAGEMENT
MODULE

USER INPUT

Fig. 4.1. Block Diagram


4.2. MODULE DESCRIPTION
FILE STORAGE MODULE
Description:
The File Storage Module is responsible for handling the storage and retrieval of
book data using JSON files. This module ensures that the list of books can be loaded
from a file at the start and saved back to the file when there are updates.
4.2.1Methods
1. Load_books
- Description: Loads books from a specified JSON file.
- Parameters: `file_path` (str) – The path to the JSON file.
- Returns: A list of books, where each book is represented as a dictionary.
- Functionality:
- Opens the JSON file located at `file_path`.
- Reads the file content and parses the JSON data into a list of dictionaries.
- Returns the list of books

6
2. Save_books
- Description: Saves the current list of books to a specified JSON file.
- Parameters:
- `file_path` (str) – The path to the JSON file.
- `books` (list) – The list of books to be saved, where each book is represented as a
dictionary.
- Returns: None
- Functionality:
- Converts the list of books into JSON format.
- Writes the JSON data to the file located at `file_path`.

4.2.2.Book Management Module

Description
The Book Management Module provides the core functionalities for managing the
book catalogue. This includes adding new books, viewing the current list of books, and
searching for books by title or author.

Methods
1. Add_book
- Description: Adds a new book to the list.
- Parameters:
- `books` (list) – The current list of books.
- `title` (str) – The title of the new book.
- `author` (str) – The author of the new book.
- `isbn` (str) – The ISBN of the new book.
- `genre` (str) – The genre of the new book.
- `publication_date` (str) – The publication date of the new book.
- `description` (str) – A brief description of the new book.
- Returns: None
- Functionality:
- Creates a dictionary representing the new book with the provided details.
- Appends this dictionary to the `books` list.
2. View_books
- Description: Prints all the books in the library.
- Parameters: `books` (list) – The current list of books.
- -Returns: None
- Functionality:
- Iterates through the `books` list.
- Prints the details of each book in a readable format.
7
3. Search_books
- Description: Searches for books by title or author.
- Parameters:
- `books` (list) – The current list of books.
- `search_term` (str) – The term to search for, either in the title or author.
- Returns: A list of books that match the search term.
- Functionality:
- Iterates through the `books` list.
- Checks if the `search_term` is in the title or author of each book (case-
insensitive).
- Collects and returns the books that match the search criteria

4.2.3.OUTPUT TEXT MODULE

Easily manage your book collection with our intuitive Book Catalog Management
System. Below are the instructions and features available in this system.
Features:
- Add New Books: Enter details such as title, author, genre, publication year, and
ISBN.
- View Books: Display a list of all the books in your catalog with detailed
information.
- Search Books: Find books by entering keywords related to the title, author, or
genre.
- Save and Load: Automatically save your catalog to a file and load it when the
program starts.

1.User Guide:
Adding a New Book:
• From the main menu, select option 1. Add Book.
• Enter the book title, author name, genre, publication year, and ISBN when
prompted.
• Ensure the title and author are provided; these are required fields.
• The book will be added to the catalog and saved automatically.

2.Viewing Books:
From the main menu, select option 2. View Books.A list of all books in the
catalog will be displayed with their details:
• Title
• Author
8
• Genre
• Publication Year
• ISBN
If no books are present, a message will indicate that the catalog is empty.

3.Searching for Books:

• From the main menu, select option 3. Search Books.


• Enter a keyword to search for in the book titles, author names, or genres.
• The system will display a list of books matching the search criteria.
• Exiting the Program:
• From the main menu, select option 4. Exit to close the program.

9
CHAPTER 5

CONCLUSION & FUTURE ENHANCEMENT

5.1. CONCLUSION

The conclusion of a book catalogue management system should summarize the


main points discussed throughout the project. It should highlight the benefits of the
system, its impact on efficiency and organization, any challenges faced during
implementation, and future possibilities for improvement or expansion.
Additionally, it could include acknowledgments to those who contributed to the
project’s success and a call to action for further development or utilization of the
system.Additionally, it could express gratitude to those who contributed to the project
and highlight the importance of ongoing maintenance and updates to ensure continued
success.

5.2FUTURE ENHANCEMENT
One potential future enhancement for a book catalog management system
could be the integration of advanced recommendation algorithms. By analyzing user
preferences, reading history, and browsing behavior, the system could suggest
personalized book recommendations to users, enhancing their browsing experience
and increasing the likelihood of discovering books that match their interests.
This feature could also help libraries or bookstores better understand their
patrons’ needs and preferences, ultimately leading to improved customer satisfaction
and engagement.
This enhancement would not only streamline the process of discovering new
books but also foster a stronger connection between readers and the library or
bookstore. Additionally, it could lead to increased circulation of books and better
utilization of resources, ultimately benefiting both customers and the institution.

10
APPENDIX B -SCREEN SHOTS

13

You might also like