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

edge project-3

Uploaded by

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

edge project-3

Uploaded by

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

Project Title: "Library Management System"

Objective

Develop a Python application that manages a library's book inventory and user interactions,
applying concepts such as file handling, functions, loops, data structures, and libraries like
Pandas and NumPy.

Project Tasks

1. Data Initialization

● Use a CSV file to store initial library data:


○ Fields: Book ID, Title, Author, Genre, Availability (Yes/No),
Borrower (if any).
● Load the data into a Pandas DataFrame for processing.

2. Book Management

● Allow the librarian to:


○ Add new books to the inventory.
○ Remove books by their ID.
○ Update book details (e.g., availability, borrower).

3. Borrowing and Returning Books

● Implement logic for:


○ Borrowing a Book:
■ Check if the book is available.
■ Update the borrower details and availability status.
○ Returning a Book:
■ Mark the book as available and clear the borrower details.

4. Search and Filter Features

● Allow users to search for books:


○ By title, author, or genre using Boolean Indexing.
● Provide filtering options to:
○ Show only available books.
○ List books borrowed by a specific user.

5. Advanced Features (Optional for Bonus Marks)

● Exception Handling:
○ Handle invalid book IDs or missing entries gracefully.
● Regular Expressions (RegEx):
○ Validate user input for book IDs (e.g., BK-001 format).
● Data Visualization:
○ Display a bar chart showing the number of books in each genre.
○ Generate a pie chart of availability status (Available vs Borrowed).

6. Statistics Using NumPy

● Use NumPy to:


○ Calculate the total number of books in the library.
○ Identify the most borrowed genre.
○ Analyze borrowing trends (e.g., average borrowing duration).

7. Interactive Console Interface

● Create a menu-driven interface with options like:


○ View all books.
○ Add, remove, or update a book.
○ Borrow or return a book.
○ Search for a book.
○ View statistics and visualizations.

8. File Handling

● Save changes made to the library inventory back to the CSV file after each operation.
● Allow exporting filtered or searched data to a new CSV file.

You might also like