0% found this document useful (0 votes)
87 views31 pages

Cs Aditya Work

This document contains a project report on a Library Management System. It includes an index, introduction, flow charts, source code, and requirements. The introduction provides details on Python, MySQL, and the project. It describes features of the languages and the project's goal to digitize a library's operations. The flow charts and source code sections include visual diagrams and coding for the project's functionality.

Uploaded by

Nonu Rajput
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)
87 views31 pages

Cs Aditya Work

This document contains a project report on a Library Management System. It includes an index, introduction, flow charts, source code, and requirements. The introduction provides details on Python, MySQL, and the project. It describes features of the languages and the project's goal to digitize a library's operations. The flow charts and source code sections include visual diagrams and coding for the project's functionality.

Uploaded by

Nonu Rajput
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/ 31

ACADEMIC YEAR : 2022-2023

PROJECT REPORT ON

LIBRARY
MANAGEMENT
SYSTEM
ROLL NO :
NAME : KUNWAR ADITYA SINGH
CLASS : XII A
SUBJECT : COMPUTER SCIENCE SUB

CODE : 083

PROJECT GUIDE: Mr . NARESH KUMAR


P.G.T. (CS)
S.NO
TITLE
1
INDEX
CERTIFICATE
2 ACKNOWLEDGEMENT

3 INTRODUCTION

4 FLOW CHART
CODING OF THE
5 PROJECT
6 OUTPUT

7 REQUIREMENTS

8 BIBLIOGRAPHY
CERTIFICATE
This is to certify that student Kunwar Aditya
Singh. Roll No ...........................................has
successfully completed the project Work Source
Code entitled " LIBRARY MANAGEMENT SYSTEM."
In subject Computer Science (083) laid down in
the regulations of CBSE for the purpose of
Practical Examination in Class XII to be held in
KENDRIYA VIDYALAYA SPG SECTOR 8
DWARKA
on .

(NARESH KUMAR) Examiner:


PGT Computer Science Name:

Signature:

Date:
ACKNOWLEDGEMENT
I thank my computer science
teacher MR.NARESH KUMAR
for his guidance and support. My
special gratitude towards my
project partner Srishti for her
coordination and support . I
would also like to thank my
parents for encouraging me
during the course of this project.
Finally i would like to thank cbse
for giving me this opportunity to
undertake this project.
INTRODUCTI
ON
 ABOUT PYTHON
IT IS WIDELY USED GENERAL
PURPOSE,HIGH LEVEL
PROGRAMMING
LANGUAGE.DEVELOPED BY GUIDO VAN
ROSSUMIN 1991.IT IS USED
FOR:SOFTWARE DEVELOPMENT, WEB
DEVELOPMENT (SERVER-SIDE), SYSTEM
SCRIPTING, MATHEMATICS.

 FEATURES OF PYTHON
1. EASY TO USE : DUE TO SIMPLE SYNTAX
RULE
2. INTERPRETED LANGUAGE : CODE
EXECUTION and INTERPRETATION LINE BY
LINE.
3. CROSS-PLATFORM LANGUAGE : IT CAN
RUN ON
WINDOWS,LINUX,MACINETOSH ETC.
EQUALLY
4. EXPRESSIVE LANGUAGE : LESS CODE TO
BE
WRITTEN AS IT ITSELF EXPRESS THE
PURPOSE of THE CODE.
5. COMPLETENESS : SUPPORT WIDE RANGE
OF
LIBRARY.
6. FREE & OPEN SOURCE : CAN BE
DOWNLOADED
FREELY AND SOURCE CODE CAN BE
MODIFY FOR
IMPROVEMENT.


 SHORTCOMINGS OF
PYTHON
1. LESSER LIBRARIES : AS COMPARED TO
OTHER
PROGRAMMING LANGUAGES LIKE
C++,JAVA,.NET
2. SLOW LANGUAGE : AS IT IS
INTERPRETED
LANGUAGES,IT EXECUTES THE
PROGRAM
SLOWLY.
3. WEAK ON TYPE-BINDING : IT NOT PIN
POINT ON USE OF A SINGLE VARIABLE
FOR DIFFERENT DATA TYPE.

ABOUT MYSQL
 MYSQL IS CURRENTLY THE MOST
POPULAR OPEN SOURCE.DATABASE
SOFTWARE. IT IS A MULTI-USER,
MULTITHREADED DATABASE
MANAGEMENT SYSTEM.MYSQL IS
ESPECIALLY
POPULAR ON THE WEB. IT IS ONE OF
THE PARTS OF THE VERY POPULAR
LAMP PLATFORM. LINUX, APACHE,
MYSQL AND PHP OR WIMP PLATFORM
WINDOWS,APACHE,MYSQL AND PHP.
MYSQL AB WAS FOUNDED BY
MICHAELWIDENIUS (MONTY), DAVID
AXMARK AND ALLAN LARSSON IN
SWEDEN IN YEAR 1995.

FEATURES OF MYSQL:
 OPEN SOURCE & FREE OF COST: IT IS
OPEN SOURCE AND AVAILABLE AT FREE
OFCOST.
• PORTABILITY: SMALL ENOUGH IN SIZE
TO INSTAL AND RUN IT ON ANY TYPES
OF HARDWARE AND OS LIKE LINUX,MS
WINDOWS OR MAC ETC.
• SECURITY : ITS DATABASES ARE
SECURED
&PROTECTED WITH PASSWORD.
• CONNECTIVITY : VARIOUS APIS ARE
DEVELOPEDTO CONNECT IT WITH
MANY
PROGRAMMING LANGUAGES.
• QUERY LANGUAGE : IT SUPPORTS SQL
(STRUCTURED QUERY LANGUAGE) FOR
HANDLINGDATABASE.

About The
Project
 The Library Management System (LMS) is
designed for Any Library to replace their
existing manual , paper based system.
This System targets to provide complete
solution for Library and related services
services. It Integrates the entire Resources
of a Library into One Integrated Software
Application.
FLOW
CHARTS
Ko
SOURCE CODE
=========================================================
=======
# PYTHON PROGRAM FILE : BOOK.py

import pymysql as cntr , datetime as dt ,


matplotlib.pyplot as pltfrom random import shuffle
from tempfile import
mktemp from os import
system , startfile

db = cntr.connect(host = 'localhost' , user = 'root' , passwd = 'manager' ,


database ='book_shop')
cur = db.cursor()
db.autocommit(True)

#Function to check is it leap year


is_leapyear = lambda year : year %
4 == 0

#Function to get last date of


month def last_month(month ,
year):
if month in (1,3,5,7,8,10,12) : return 31
elif month == 2 and is_leapyear(year) :
return 29 elif month == 2 : return 28
else : return 30

clrscreen = lambda :

system("cls") def

view_stock() :
cur.execute("select Book_No , Book_Name , Available_Stock from stock")
data = cur.fetchall()
print("Book Number\tBook Name\tStock")
for row in data : print(row[0] , '\t\t' , row[1] , '\t' , row[2])

def add_stock() :
print('Add Stock'.center(89 ,
'=')) bno = unique_book_no()
if bno :
print("Book Number : " , bno)
else : bno = int(input("Enter
booknumber")) bname = input("Enter the
Book\'sName :")
auth = input("Enter the Author of the Book
: ") publ = input("Enter the Publisher of the
Book : ") cost = eval(input("Enter the Cost
per Book : "))
stock = int(input("Enter the Quantity purchased : "))
cur.execute("insert into stock values ({} , '{}' , '{}' , '{}' , {} , {} , {} ,
'{}')".format(bno
, bname , auth , publ , cost , stock , 0,
dt.date.today(
))) print("Inserted Sucessfully !!!")

def add_user() :
user = input("Enter the user
name : ") passwd = input("Enter
a Password : ")
passwd2 = input("Enter Password to
confirm : ")if passwd == passwd2 :
cur.execute("insert into users values('{}' , '{}')".format(user ,
passwd)) print("Created Successfully!!!")
elif passwd != passwd2 : print("You've entered different passwords")

def sell_book() :
print('Purchas
e')
cname = input("Enter the Customer
Name : ") phno = int(input("Enter the
phone number : ")) bno = int(input("Enter
book number : ")) bname = input("Enter
the name of the book : ")
cost = eval(input("Enter the cost of the book : "))
cur.execute("insert into purchased values({} , '{}')".format(bno ,
dt.date.today()))
cur.execute("update stock set qty_purchased = qty_purchased + 1 where
Book_No =
{}".format(bno))
cur.execute("update stock set Available_Stock = Available_Stock - 1 where
Book_No
= {}".format(bno))
print("Bought
Successfully")
q = '''Book Shop\nName : {}\nPhone No : {}\nBook Number : {}\nBook Name
:
{}\nCost : {}\nDate Of Purchase : {}'''.format(cname , phno , bno , bname , cost ,
dt.date.today())
filename =
mktemp('.txt')
open(filename ,
'w').write(q)
startfile(filename ,
'print')
cur.execute('select Book_Name , Book_No , Author from
stock where Available_Stock = 0')
if cur.rowcount ==
1 : print("STOCK
OF ")
print("Book Name : " ,cur.fetchall()[0][0])
print("Book Number : " , cur.fetchall()[0][1])
print("Author : " , cur.fetchall()[0][2])
print("EXHAUSTED")
cur.execute('delete from stock where Available_Stock = 0')

def unique_book_no () :
cur.execute("select max(Book_No) from
stock")data = cur.fetchall()
if bool(data[0][0]) :
L1 = [x for x in range((data[0][0] + 1) , (data[0][0] +
10000))] shuffle(L1)
return
L1.pop(0) else :
return False

def view_sales () :
print('Overall Sales This Month')
cur.execute("select distinct(s.Book_Name) , s.qty_purchased from stock s ,
purchased p where s.Book_No = p.Book_No and p.purchased_on between
'{year}-{month}-01' and '{year}-{month}-{date}'".format(year =
dt.date.today().year , month =
dt.date.today().month , date = last_month( dt.date.today().month ,

dt.date.today().year
))) data =
cur.fetchall() L1 ,
L2 = [] , []
for row in data :
L1.append(row[
0])
L2.append(row[
1])
plt.bar(L1 , L2)
plt.xlabel('Book
s')
plt.ylabel('Sales
')
plt.title('Sales')
plt.show()

def login():
user = input("Enter the
username : ") pwd =
input("Enter the password : ")
cur.execute("Select * from users where (username = '{}' and
password = '{}')".format(user , pwd))
if cur.rowcount : return True

def update_stock() :
bno = int(input("Enter the book number : "))
cur.execute("select Book_Name , Available_Stock from stock where
Book_No =
{}".format(bno))
data = cur.fetchall()
print("Book Name : " ,
data[0][0])
print("Available Stock : " , data[0][1])
stock = int(input("Enter the new stock purchased : "))
cur.execute("update stock set Available_Stock = Available_Stock +
{}".format(stock)) print("Updated Successfully")

=========================================================
======
# PYTHON MODULE : Tables_in_mysql
import pymysql as cntr

db = cntr.connect(host = 'localhost' , user = 'root' , passwd =


'manager') db.autocommit(True)
cur = db.cursor()
cur.execute("create database if not exists
book_shop") cur.execute("use book_shop")
cur.execute("create table stock\
(Book_No bigint primary
key,\
Book_Name
varchar(255),\ Author
varchar(255),\
Publisher
varchar(255),\
Cost_per_Book float,\
Available_Stock
bigint,\ qty_purchased
bigint,\ purchased_on
date)")
cur.execute("create table users(username varchar(255) , password
varchar(255) , check (username <> 'ADMIN'))")
cur.execute("create table purchased (Book_no bigint , purchased_on
date , foreign key(Book_no) references stock(Book_No))")
cur.execute("create unique index Book_Index on
stock(Book_No)") cur.execute("insert into users
values('admin' , 'admin@123')") print("Database and
Tables created successfully")
c = input("Press any key to continue >")
cur.close
()
db.close(
)

=========================================================
========
===
# PYTHON MODULE : main
import
Book c =
'y'
while c.lower() == 'y' :
print("Book Shop
Management".center(89 , '=')) print('1.
Register')
print('2. Login')
print('3. Exit')
choice4 = int(input("Enter the serial number of your
choice : ")) if choice4 == 1 :
Book.clrscree
n()
Book.add_use
r()
elif choice4 ==
2:
Book.clrscree
n() if
Book.login() :
Book.clrscre
en C = 'y'
while C.lower() ==
'y' :
Book.clrscreen()
print("Book Shop
Management".center(89 , '=')) print("1.
Book Stock")
print("2. Book
Selling") print("3.
Exit")
choice = int(input("Enter the serial number of your
choice : ")) if choice == 1 :
Book.clrscreen()
print("Book Book".center(89 ,
'=')) print("1. Add a new
Stock") print("2. View all
Stock")
print("3. Update an existing
Stock")print("4. Exit")
choice2 = int(input("Enter the
choice : ")) if choice2 == 1 :
Book.clrscreen
()
Book.add_stoc
k()
elif choice2 == 2 :
Book.clrscreen()
Book.view_stoc
k()
elif choice2 == 3 :
Book.clrscreen()
Book.update_stoc
k()
elif choice2 == 4 :
print("Good
Bye") break
else : print("INVALID
CHOICE") elif choice == 2 :
Book.clrscreen()
print('Book Selling'.center(89 ,
'=')) print('1. Sell a book')
print('2. View Sales this
month') print("3. Exit")
choice3 = int(input("Enter your
choice : ")) if choice3 == 1 :
Book.clrscreen
()
Book.sell_boo
k()
elif choice3 == 2 :
Book.clrscreen(
)
Book.view_sale
s()
elif choice3 == 3 :
print("Good
Bye") break
else : print("INVALID
CHOICE") elif choice == 3 :
print("Good
Bye") break
else : print("INVALID CHOICE")
C = input("Do you want to continue
(y/[n]) : ") else : print("Good Bye")
else :
print("Either your username or password is
incorrect") elif choice4 == 3 :
print("Good
Bye") break
else : print("INVALID CHOICE")
c = input("Do you want to return to main menu
(y/[n]) : ") else : print("Good Bye")

=========================================================
======
OUTPUT
REQUIREMENTS
 HARDWARE REQUIREMENTS

• COMPUTER,FORCODING AND TYPING THE REQUIRED


DOCUMENTS OF THE PROJECT.

• PRINTER, TO PRINT THE REQUIRED DOCUMENTS OF THE


PROJECT.

• COMPACT DRIVE.

• PROCESSOR : PENTIUM QUAD CORE

• RAM : 64 MB

• HARD DISK : 20 GB
 SOFTWARE REQUIREMENTS
• OPERATING SYSTEM : WINDOWS 10

• PYTHON 3 : FOR EXECUTION OF PROGRAM

• MYSQL : FOR STORING DATA IN THE DATABASE

• PYTHON – MYSQL CONNECTOR : FOR DATABASE CONNECTIVITY AND

 MICROSOFT WORD, FOR PRESENTATION OF OUTPUT


BIBLIOGRAPHY

COMPUTER SCIENCE IN

PYTHON BY – SUMITAARORA.

 • HTTPS://PYTHON.MYKVS.IN/

You might also like