0% found this document useful (0 votes)
9 views22 pages

CS Project Final

The document outlines a project titled 'Library Management System' completed by Animesh Kumar as part of his Class 12 Computer Science curriculum. It details the project's objectives, technologies used (Python and MySQL), system design, and code explanations, emphasizing the automation of library management tasks. The project aims to simplify book management, track borrowing history, and enhance user accessibility within the library.

Uploaded by

cbeast.1217
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)
9 views22 pages

CS Project Final

The document outlines a project titled 'Library Management System' completed by Animesh Kumar as part of his Class 12 Computer Science curriculum. It details the project's objectives, technologies used (Python and MySQL), system design, and code explanations, emphasizing the automation of library management tasks. The project aims to simplify book management, track borrowing history, and enhance user accessibility within the library.

Uploaded by

cbeast.1217
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/ 22

Project File

Library Management System

Submitted by:
Animesh Kumar
Class 12th
Subject : Computer Science

Submitted to :
Shishir Pandey Sir
Computer Science Teacher

Mount Litera Zee School


(CBSE Board)

Date of submission :

“ A Library is not a luxury but one of the


necessities of life. ”

1
Certificate

This is to certify that Animesh Kumar, a student of Class 12, has


successfully completed the project titled “Library Management
System" under the guidance of Shishir Pandey Sir. This project was
carried out as part of the curriculum for Class 12, and it meets the
requirements set forth by the Central Board of Secondary Education
(CBSE).
The work presented in this project is a result of the student's own
efforts, and it demonstrates their ability to apply the concepts of
Python programming and MySQL database management to a
real-world problem.

I acknowledge the student's dedication and hard work in completing


this project, and I am confident that the knowledge and skills gained
during this process will be beneficial in their future endeavors.

Signature of Teacher: ____________________

Signature of Student: ____________________

Date: ____________________

2
Acknowledgment

I am deeply grateful to everyone who's helped and supported me


throughout the development of this project, “Library Management
System." This project would not have been possible without the
guidance and encouragement of many people.

First and foremost, I would like to sincerely thank my computer


science teacher, Vijay Sir , for their constant support and guidance.
Without his patience and dedication, this project would not have
been completed.I would also like to express my appreciation to the
principal of Mount Litera Zee School, Ms. Sweta Srivastava, and all
the teachers who have contributed to my learning.

I would also like to thank my friends Archit and shourya, who have
been a great source of motivation and help. Whether it was
discussing ideas, helping with debugging, or just being there when I
needed a break, their support made the process more enjoyable and
manageable. I appreciate the teamwork and friendship that helped
me stay on track.

3
Contents

1. Introduction

2. Objective

3. Technology used

4.Hardware and Software Used

5. System design

6. Code explanation

7. Screenshots

8. Conclusion

9. Bibliography

4
Introduction

The Library Management System is a software application


designed to manage the day-to-day operations of a library.

This system allows users to efficiently manage books by keeping


records of books issued, returned, and available in the library. It also
helps track the borrowing history of each user.

The primary purpose of this project is to develop a system that


simplifies and automates library management, making it easier for
both librarians and users to access and manage library resources.

5
Objective

The objective of this project is to develop a comprehensive Library


Management System that simplifies the management of library
resources and automates various processes. This system is designed
to:

Manage book records: Store and organize details of all books in the
library, including their titles, authors, publication dates, and
availability status.

Issue and return books: Allow the librarian to issue books to users
and record the details, such as the issue date, return date, and the
user’s information. Similarly, the system will also handle book
returns and update the records accordingly.

Maintain a user database: Track the borrowing history of users,


ensuring that any overdue books or pending returns are easily
identifiable.

Search functionality: Enable users or librarians to search for


specific books by title, author, or book ID, improving accessibility.

6
Technology Used
This project was developed using the following technologies :

1.Python

I choose Python as a programming language because it’s


beginner-friendly and has a huge range of libraries that make tasks
like database connections and building user interfaces easy.

~Modules used
.mysql.connector: This is the library I used to connect Python to
my MySQL database.

Tabulate : For printing the MySQL tables in tabular format in


terminal or wherever the command is run.

2.MySQL

To manage all the data for the library (like book records and user
details), which will be stored on the database server of MySQL.

7
3.Pydroid

Since I worked on this project using my Android phone, I used


Pydroid, an awesome Python IDE for mobile devices. It let me write
and test my Python code directly on my phone.

4.Termux

To run the database on my phone, I used Termux, a terminal


emulator for Android. It basically gives you a Linux environment on
your phone, which was great because I could set up and run.

8
Hardware and Software Used

Operating System : Android Oreo 8.1.0


RAM : 2 GB
ROM : 16 GB
Processor : Qualcomm Snapdragon 450 Octa
Core
Python version 3.11.4
IDE : Pydroid and Termux
Database Server : MySQL
Documentation: Google Docs

9
System Design
Key Features from the Code :

1. Database Setup:
○ You create a database called library and set up three tables:
available_books, issued, and login.
○ The available_books table stores details about books like
their ID, name, subject, and quantity.
○ The issued table tracks which books are issued, along with
student details.
○ The login table is used for user authentication with a
default user setup (user, 1234).
2. Login System:
○ The user has to log in using a password to access the main
menu. By default, the password is "1234".
3. Main Menu Options:
After logging in, the user can choose from several options:
○ Add New Books: Adds a new book to the available_books
table.
○ Remove Books: Deletes a book by its ID from the
available_books table.
○ Issue Books: Issues a book to a student by reducing its
quantity and adding it to the issued table.

10
○ Return Books: Returns a book by increasing its quantity
in the available_books table and removing it from the
issued table.
○ View Available Books: Displays all the books available in
the library.
○ View Issued Books: Shows a list of all issued books and
the students who borrowed them.
4. Exiting:
You have the option to log out or exit the system at any time.

11
Code explanation

This Library Management System is written in Python and connects


to a MySQL database to handle all the book and user records. Here’s
how it works:

1. Database Setup
The first thing the program does is connect to a MySQL
database. If the database doesn't exist, it creates one called
library. Inside this database, we have three tables:
○ available_books: This table stores information about the
books in the library, such as the book’s ID, name, subject,
and the number of copies available.
○ issued: This table keeps track of which books have been
issued to which students, including the student's name
and class.
○ login: This table handles user login credentials. There’s a
default username (user) and password (1234) set up to get
started.

12
2. Login System
Before you can access the main system, you need to log in. The
default password is 1234, which is checked against the login
table. Once you’re logged in, you can start managing the
library.
3. Main Menu
After logging in, you’ll see a menu with seven options. Here’s
what each option does:
○ 1. Add New Books: This option lets you add new books
to the library. You’re asked to provide details like the
book's ID, name, subject, and the number of copies.
Once the information is entered, it’s saved in the
available_books table.
○ 2. Remove Books: If you want to remove a book, you can
provide its ID, and the program will search for that book
in the available_books table. If the book is found, it’s
deleted.
○ 3. Issue Book to Student: This option allows you to issue
a book to a student. You enter the book’s ID, and the
program checks if it’s available. If it is, it decreases the
number of available copies by 1 and saves the student’s
details in the issued table.

13
○ 4. Return Book: When a student returns a book, you can
use this option to update the system. The book’s quantity
is increased by 1, and the record is removed from the
issued table.
○ 5. View Available Books: This simply displays all the
books currently available in the library.
○ 6. View Issued Books: This shows you which books have
been issued and to which students.
○ 7. Logout: This option logs you out of the system.
4. Error Handling
The code also has some error handling to make sure things go
smoothly. For example, if you try to remove or issue a book
that doesn’t exist, or if you enter an invalid input (like a letter
when a number is expected), the program will notify you.
5. User-Friendly Interface
The program uses the tabulate library to neatly format the data
in tables, making it easier to view lists of books and issued
records.

14
Code

15
16
17
18
19
Tables created in MySQL

Table : available_books

Table : issued

Table : login

20
Conclusion

Working on this Library Management System project has been a


really rewarding experience. It allowed me to take what I've learned
about Python and databases and apply it to a real-world problem.
I’ve learned how to handle data efficiently and automate processes
that would otherwise take a lot of manual effort, like keeping track
of books and users.

This project also taught me how important it is to write organized


and clean code, especially when you're dealing with larger systems. I
got to understand how Python and MySQL work together, which
was pretty cool. Overall, the system does exactly what I set out to
achieve: making library management easier by speeding up the
process of issuing, returning, and keeping track of books.

I’ve come out of this project with improved coding skills and a better
understanding of how to build practical applications. I’m excited to
take what I’ve learned and apply it to even bigger projects in the
future.

21
Bibliography

Main Source
Book : Computer Science with Python by Sumita Arora

Python Documentation
Official Python documentation for learning Python syntax and
libraries.
URL : https://docs.python.org/3/

MySQL Documentation
For understanding MySQL database management and queries.
URL : https://dev.mysql.com/doc/

Tabulate Library Documentation


For formatting tables and displaying data in Python.
URL : https://pypi.org/project/tabulate/

Termux Wiki
For setting up MySQL on Android devices using Termux.
URL : https://wiki.termux.com/wiki/Main_Page

22

You might also like