0% found this document useful (0 votes)
13 views30 pages

Akki Ka Project

This project report details the development of a Library Management System using Python for the front end and CSV for the back end, as part of the XII Informatics Practices Practical Examination. It includes an introduction to front-end and back-end concepts, functions for managing library data, and data visualization techniques using libraries like Matplotlib. The report also acknowledges contributions from school management, teachers, and peers in the project's completion.

Uploaded by

Anushka Vijay
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)
13 views30 pages

Akki Ka Project

This project report details the development of a Library Management System using Python for the front end and CSV for the back end, as part of the XII Informatics Practices Practical Examination. It includes an introduction to front-end and back-end concepts, functions for managing library data, and data visualization techniques using libraries like Matplotlib. The report also acknowledges contributions from school management, teachers, and peers in the project's completion.

Uploaded by

Anushka Vijay
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
You are on page 1/ 30

PREFACE

This project report is based on the topic “LIBRARY MANAGEMENT


SYSTEM”. We have
used Python as the Front end and CSV as the back end for the
development of this application. This project report is a part of the XII
Informatics Practices Practical Examination class.

We have gathered the information through books, internet, friends,


teachers and other resources to develop it and then learned a lot while
developing it.
ACKNOWLEDGEMENT

This project report is based on the topic “LIBRARY MANAGEMENT


SYSTEM” is a part of SSCE 2024-25 for Informatics Practices (065)
Practical Examination.

We worked on this project report as a group. There are many people


I want to thank those who helped us develop this report.

First and foremost, I would like to thank our school management for
giving us such a well-equipped and modern lab to learn all the basic and
advanced features of Python and MySQL.

I would also like to thank my parents and friends who helped me and
the Almighty God who gave me strength and inspiration in achieving
this task.
CERTIFICATE

This is to certify that this project report is prepared by


_____________________________ bearing Roll No. _____________
For the accomplishment of Informatics Practices (065) Final Practical
Exam of SSCE 2024. This Project Report is prepared under the guidance
and supervision of our computer faculty during the session 2024-25. In
this project report, Python is used as a Front End and CSV is used as a
Back End.

Date: _______________________

External Examiner: _______________________

Internal Examiner: Daya Shankar Sharma


Introduction to Front End and Back End
Concept

The Front End


The user interface that the user sees and which is responsible for
interacting with the user. Front end is responsible for receiving user’s
queries, request, etc. and passing it over the back-end. Frontend
basically includes graphical user interfaces and the input forms, through
which user interacts with the system.

The Backend
The backend is the end that is not visible but that processes the user-
requests as received by the front end. The back end handles all
database access through one or more servers. It is responsible for
processing data for user’s queries and requests.
INTRODUCTION

This project is developed to provide. The Library Management


Data Analysis. It is developed in such a way that , it is best suited
for its best functioning. In this project we were able to do certain
functions like insert, update, view details, delete etc... This is
done with the help of our teacher and data being transferred
via code.

About CSV FILE

A comma-separated values (CSV) file is a delimited text file that


uses a comma to separate values. Each line of the file is a data
record. Each record consists of one or more fields, separated by
commas. The use of the comma as a field separator is the source
of the name for this file format. A CSV file typically stores tabular
data (number sand text)in plain text, in which case each line will
have the same number of fields. The CSV file format is not fully
standardized. The basic idea of separating fields with a comma is
clear, but that idea gets complicated when the field data may
also contain commas or even embedded line breaks. CSV
implementations may not handle such field data, or they may
use quotation marks to surround the field. Quotation does
not solve everything: some fields may need embedded quotation
marks, a CSV implementation may include escape characters or
escape sequences.

Basic Module:

• Create( ):It is a function used to enter the data containing


details.

• Add( ):It is function used to add details after the details has
been entered once.

• Display( ):It is function which is used to display all the record


entered into the system.

• Del( ):It is a function used to delete details of specified names.

• Search( ):It is a function used to search the details from the


data.

• Update( ):It is a function which is used to modify specificin


formation from the data.

• Table without header: Reading in a csv file into a Pandas Data


Frame will by default, set the first row of the .csv file as the
headers in the table. However, if the .csv file does not have any
pre-existing headers, Pandas can skip this step and instead
start reading the first row of the .csv as data entries into the data
frame.
• Head( ):returns the first n rows(observe the index values).

• Tail( ):returns the last n rows(observe the index values).

• Sorting the values in ascending order:It is used to sort the data


in ascending order on the basis of a specified column.

• Sorting the values in descending order: It is used to sort the


data in descending order on the basis of a specified column.

Data Visualization

We all know that images or visuals are we sure powerful for


most communication. We often use them to understand a
situation better or to condense pieces of information into a
graphical representation. Visualization is the easiest to analyse
and absolute formation. It is the first step for any kind
Of that analysis this work we shall serve better cold data
visualization help us to easily understand their complex problem
I see certain patterns. Data visualization techniques are grained
popularity. Data visualization basically refers to graphical or
visual representation of information and data using we shall
elements likechart graph map etc. Data visualization in Python
can done by remaining packages. one example of package
ismatplotlib. Matplotlib Package can be used in Pythonscript,
web applications post up invite and we can use twoexclusive
libraries for visualization, commonly known as matplotlib and
seaborn.
BARGRAPH:-
It is a pictorial representation of data. That uses bars to compare
different categories of data.Comparison of discrete variables.

LINE CHART:-

A line plot/chart is a graph that shows the frequency of data


occurring along a number line. The line plot is represented
by a series of data points connected with a straight line.
Generally, line plots are used to display trends over time. A line
plot or line graph can be created using the plot() function
available in pyplot library.

HISTOGRAM:-

It is referred to graphical representation, that displays in the way


of bars to show the frequency of Numerical data. Indicates
distribution of non discrete variables.
CODES
import pandas as pd
import matplotlib.pyplot as plt

# Main Menu
while True:
print("Library Management System")
print("1. Fetch data")
print("2. View Data Statistics")
print("3. Display Records")
print("4. Edit Records")
print("5. Search Records")
print("6. Data Visualization")
print("7. Data Analytics")
print("8. Exit")
option = int(input("Enter your choice: "))

if option == 1:
# Fetch data from CSV
library = pd.read_csv("Library_Management.csv", index_col=0)
print("Data fetched successfully!")
elif option == 2:
# Dataframe Statistics
print("\nData Statistics:")
print("Shape:", library.shape)
print("Columns:", library.columns.tolist())
print("Data Types:\n", library.dtypes)
print("Summary:\n", library.describe())
elif option == 3:
# Display Records
print("1. Display Top 5 Records")
print("2. Display Bottom 5 Records")
sub_choice = int(input("Enter your choice: "))
if sub_choice == 1:
print(library.head())
elif sub_choice == 2:
print(library.tail())
elif option == 4:
# Edit Records
print("1. Add New Book")
print("2. Delete Book")
edit_choice = int(input("Enter your choice: "))
if edit_choice == 1:
# Add New Book
new_book = {
"Title": input("Enter Title: "),
"Author": input("Enter Author: "),
"Year": int(input("Enter Year: ")),
"Copies": int(input("Enter Copies Available: "))
}
library = library._append(new_book, ignore_index=True)
print(library)
print("Book added successfully!")
elif edit_choice == 2:
# Delete Book
title = input("Enter Title of the book to delete: ")
library = library.drop(library.index[library["Title"]==f"{title}"])
print("Book deleted successfully!")
print(library)
elif option == 5:
# Search Records
title = input("Enter Title to search: ")
result = library[library["Title"].str.contains(title, case=False,
na=False)]
print("Search Results:\n", result)
elif option == 6:
# Data Visualization
print("1. Bar Plot (Books per Year)")
print("2. Pie Chart (Copies Distribution)")
vis_choice = int(input("Enter your choice: "))
if vis_choice == 1:
library["Year"].value_counts().sort_index().plot(kind="bar")
plt.title("Books Published Per Year")
plt.xlabel("Year")
plt.ylabel("Number of Books")
plt.show()
elif vis_choice == 2:
library["Copies"].plot(kind="pie", labels=library["Title"],
autopct="%1.1f%%")
plt.title("Copies Distribution")
plt.show()
elif option == 7:
# Data Analytics
print("1. Book with Maximum Copies")
print("2. Book with Minimum Copies")
analytics_choice = int(input("Enter your choice: "))
if analytics_choice == 1:
max_copies = library.loc[library["Copies"].idxmax()]
print("Book with Maximum Copies:\n", max_copies)
elif analytics_choice == 2:
min_copies = library.loc[library["Copies"].idxmin()]
print("Book with Minimum Copies:\n", min_copies)
elif option == 8:
# Exit
print("Exiting the system. Goodbye!")
break
else:
print("Invalid choice. Please try again.")
OUTPUTS
WHEN WE ENTER INTO THE LIBRARY MANAGEMENT SYSTEM

Library Management System


1. Fetch data
2. View Data Statistics
3. Display Records
4. Edit Records
5. Search Records
6. Data Visualization
7. Data Analytics
8. Exit
Enter your choice:

ON ENTERING CHOICE 1
Enter your choice: 1
Data fetched successfully!
Library Management System
1. Fetch data
2. View Data Statistics
3. Display Records
4. Edit Records
5. Search Records
6. Data Visualization
7. Data Analytics
8. Exit
Enter your choice:

ON ENTERING CHOICE 2

Enter your choice: 2

Data Statistics:
Shape: (10, 4)
Columns: ['Title', 'Author', 'Copies', 'Year']
Data Types:
Title object
Author object
Copies int64
Year int64
dtype: object

Summary:
Copies Year
count 10.000000 10.000000
mean 3.800000 1992.200000
std 2.616189 28.208746
min 1.000000 1930.000000
25% 2.000000 1984.250000
50% 3.500000 2000.500000
75% 4.750000 2008.500000
max 9.000000 2024.000000
Library Management System
1. Fetch data
2. View Data Statistics
3. Display Records
4. Edit Records
5. Search Records
6. Data Visualization
7. Data Analytics
8. Exit
Enter your choice:

ON ENTERING CHOICE 3
Enter your choice: 3
1. Display Top 5 Records
2. Display Bottom 5 Records
Enter your choice:

NOW WE CHOOSE OUT OF THE ABOVE TWO


a. ON CHOOSING 1

Enter your choice: 1


Title Author Copies Year
Book ID
1 To Kill a Mockingbird Harper Lee 4 1985
2 1984 George Orwell 3 2004
3 The Great Gatsby F. Scott Fitzgerald 2 1984
4 Pride and Prejudice Jane Austen 1 2010
5 The Catcher in the Rye J.D. Salinger 5 1964
Library Management System
1. Fetch data
2. View Data Statistics
3. Display Records
4. Edit Records
5. Search Records
6. Data Visualization
7. Data Analytics
8. Exit
Enter your choice:

b. ON ENTERING CHOICE 2

Enter your choice: 2


Title Author Copies Year
Book ID
6 The Hobbit J.R.R. Tolkien 2 1930
7 Harry Potter and the Sorcerer's Stone J.K. Rowling
9 2020
8 The Alchemist Paulo Coelho 7 2024
9 The Diary of a Young Girl Anne Frank 1
2001
10 The Little Prince Antoine de Saint-Exupéry 4
2000
Library Management System
1. Fetch data
2. View Data Statistics
3. Display Records
4. Edit Records
5. Search Records
6. Data Visualization
7. Data Analytics
8. Exit
Enter your choice:

ON ENTERING CHOICE 4

Enter your choice: 4


1. Add New Book
2. Delete Book
Enter your choice:
NOW WE CHOOSE FROM ABOVE OPTIONS :

a. ON CHOOSING 1 AND ENTERING BOOK DETAILS AS


BOOK NAME : HARRY1
AUTHOR : JK1
YEAR : 2056
COPIES : 5

Enter your choice: 1


Enter Title: harry1
Enter Author: jk1
Enter Year: 2056
Enter Copies Available: 5

Title Author Copies Year


0 To Kill a Mockingbird Harper Lee 4 1985
1 1984 George Orwell 3 2004
2 The Great Gatsby F. Scott Fitzgerald 2
1984
3 Pride and Prejudice Jane Austen 1
2010
4 The Catcher in the Rye J.D. Salinger 5
1964
5 The Hobbit J.R.R. Tolkien 2 1930
6 Harry Potter and the Sorcerer's Stone J.K. Rowling
9 2020
7 The Alchemist Paulo Coelho 7 2024
8 The Diary of a Young Girl Anne Frank 1
2001
9 The Little Prince Antoine de Saint-Exupéry 4
2000
10 harry1 jk1 5 2056
Book added successfully!
Library Management System
1. Fetch data
2. View Data Statistics
3. Display Records
4. Edit Records
5. Search Records
6. Data Visualization
7. Data Analytics
8. Exit
Enter your choice:

b. ON ENTERING CHOICE 2 AND DELETING BOOK BY TITLE HARRY


Enter your choice: 2
Enter Title of the book to delete: harry1
Book deleted successfully!
Title Author Copies Year
0 To Kill a Mockingbird Harper Lee 4 1985
1 1984 George Orwell 3 2004
2 The Great Gatsby F. Scott Fitzgerald 2 1984
3 Pride and Prejudice Jane Austen 1 2010
4 The Catcher in the Rye J.D. Salinger 5 1964
5 The Hobbit J.R.R. Tolkien 2 1930
6 Harry Potter and the Sorcerer's Stone J.K. Rowling 9
2020
7 The Alchemist Paulo Coelho 7 2024
8 The Diary of a Young Girl Anne Frank 1 2001
9 The Little Prince Antoine de Saint-Exupéry 4
2000
Library Management System
1. Fetch data
2. View Data Statistics
3. Display Records
4. Edit Records
5. Search Records
6. Data Visualization
7. Data Analytics
8. Exit
Enter your choice:
ON ENTERING CHOICE 5
Enter your choice: 5
Enter Title to search: To Kill a Mockingbird
Search Results:
Title Author Copies Year
0 To Kill a Mockingbird Harper Lee 4 1985
Library Management System
1. Fetch data
2. View Data Statistics
3. Display Records
4. Edit Records
5. Search Records
6. Data Visualization
7. Data Analytics
8. Exit
Enter your choice:

ON ENTERING CHOICE 6

Enter your choice: 6


1. Bar Plot (Books per Year)
2. Pie Chart (Copies Distribution)
Enter your choice:

NOW CHOOSING 1 IN THIS

NOW CHOOSING 2 IN THIS


NOW ENTERING CHOICE 7

Enter your choice: 7


1. Book with Maximum Copies
2. Book with Minimum Copies
Enter your choice:

NOW CHOOSING 1 IN THIS

Enter your choice: 1


Book with Maximum Copies:
Title Harry Potter and the Sorcerer's Stone
Author J.K. Rowling
Copies 9
Year 2020
Name: 7, dtype: object
Library Management System
1. Fetch data
2. View Data Statistics
3. Display Records
4. Edit Records
5. Search Records
6. Data Visualization
7. Data Analytics
8. Exit
Enter your choice:

NOW CHOOSING 2 IN THIS

Enter your choice: 2


Book with Minimum Copies:
Title Pride and Prejudice
Author Jane Austen
Copies 1
Year 2010
Name: 4, dtype: object
Library Management System
1. Fetch data
2. View Data Statistics
3. Display Records
4. Edit Records
5. Search Records
6. Data Visualization
7. Data Analytics
8. Exit
Enter your choice:

NOW ENTERING CHOICE 8


Enter your choice: 8
Exiting the system. Goodbye!

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy