Online Library Management System
Online Library Management System
I am indebted to Guide Name, Internship Guide, for her continuous support and valuable
suggestions.
I owe my profound gratitude to HOD Name, Head of the Department, whose kind consent
and guidance helped me to complete this work successfully.
I express my sincere thanks to Principal Name, Principal for all the support and help during
the conduction of internship.
I express my sincere thanks to the Management, college name, Mangaluru for all the facility
provided during the internship.
KUMAR
USN: 4JK18CS056
i
CONTENTS
iii
LIST OF FIGURES
iv
LIST OF TABLES
v
Online Library Management System
CHAPTER 1
EXECUTIVE SUMMARY
This report refers to work completed during my internship with the Web Development Team
at Take It Smart (OPC) Pvt.Ltd, Bengaluru, India from September 1st 2021 to September 30th
2021.
Full Stack Web Development using Django. Django includes common web development
tasks and takes care of user authentication, content administration, site maps, RSS feeds, and
many more tasks. It was designed to help developers take applications from concept to
completion as quickly as possible. Learning objective of the internship is to understand
working of Django framework and developing different applications. Core objective is to be
ready for industry and a career in an organization.
The project conducted during the internship is solely centered on web development and
design modern applications. Python is the main language used in the Django framework to
build an application. By default, Django uses the SQLite database and also supports other
databases. The application is evaluated on the basis of execution and efficiency of the
application developed. Django was designed to help developers take applications from
concept to completion as quickly as possible. It is a Python framework that makes it easier
to create web sites using Python.
It takes security seriously and helps developers avoid many common security mistakes. Some
of the busiest sites on the web leverage Django’s ability to quickly and flexibly scale.
Companies, organizations and governments have used Django to build all sorts of things from
content management systems to social networks to scientific computing platforms. Django
takes security seriously and helps developers avoid many common security mistakes, such as
SQL injection, cross-site scripting, cross-site request forgery and clickjacking. Its user
authentication system provides a secure way to manage user accounts and passwords. the
opportunity to learn the practical skills required for the skill development and employment
process so it is better to join internship in required domain in the companies which has got the
potential to shape the future with hands on experience on the technologies including hardware
and software development.
This internship has grown me as an intern with a high skill set of web development. It gave a
first experience in a corporate environment.
CHAPTER 2
COMPANY PROFILE
Email info@takeitsmart.in
Website www.takeitsmart.in
Type of the Company Private (One Person Company)
Company Logo
TAKE IT SMART (OPC) PVT.LTD. is a locally own company founded by a team of young,
dynamic and experienced professionals with the people having collective experience for
more than decades. It is a leading solution provider for e-business Enabling, Solution
Consultancy, Turn-key Solution and Post Implementation and Customized Support and also
providing integration of enterprise solution to open platform standards e business solution.
Time to market, quality of work and value adding to our customer’s requirements are our key
focus in all our deliveries and the company serves a worldwide client base.
All offices employ an experienced team of professionals, with an outstanding track record of
handling complex web & Apps development projects. Take It Smart (OPC) Pvt.Ltd prides
itself on delivering products and services which adhere to the principles of quality,
transparency and affordability. We provide solutions to a range of players in the All sector in
India at take it smart, we see our customers as our Business Partners, we are proud each time
we created a satisfied customer.
Our Vision To provide one stop IT solutions for all Business Requirements. Our Team Make
up of a team of young dynamic and experience professional. The team is enriched with
unique domain knowledge, which span from Info Technology, Design and Creative, Retail &
Wholesaling, Travel & Tourism industry, Insurance & Finance, Manufacturing, and Public
Sector etc. Our Track Record in Team has served customers across all verticals. The team has
collective experience with both private and public sectors.
CHAPTER 3
PROBLEM STATEMENT AND OBJECTIVES
3.1 Problem Statement
Online Library Management System is a system which maintains the information about the
books present in the library, their authors, the members of library to whom books are issued
and all. This is very difficult to organize manually. Maintenance of all this information
manually is a very complex task. Owing to the advancement of technology, organization of
an Online Library becomes much simple. The Online Library Management has been designed
to computerize and automate the operations performed over the information about the
members, book issues and returns and all other operations. This computerization of library
helps in many instances of its maintenances. It reduces the workload of management as most
of the manual work done is reduced.
3.2 Objectives
The main objective of this application is to manage the details of students, books and the
issued books efficiently.
• The system tracks all the details about the Issues, Books, and Student.
• An Admin login page where admin can add book and view students who are
registered into the system.
• Can view Issued book with issued date and expiry date and also view fine.
CHAPTER 4
WEEKLY OVERVIEW
Table 4.1 Weekly Overview Report
15-9-2021 Wednesday Provide the url inside the urls.py for application
CHAPTER 5
TASKS PERFORMED
This chapter briefly describes about task performed in the organization during the internship
process. And also, the screenshots of the project worked on.
5.1 Django
Django was designed to help developers take applications from concept to completion as
quickly as possible. It is a Python framework that makes it easier to create web sites using
Python. It takes security seriously and helps developers avoid many common security
mistakes. Some of the busiest sites on the web leverage Django’s ability to quickly and
flexibly scale.
• Model
• View
• Template
5.1.1 Model
The Model is the part of the web-app which acts as a mediator between the website interface
and the database. In technical terms, it is the object which implements the logic for the
application’s data domain. There are times when the application may only take data in a
particular dataset, and directly send it to the view (UI component) without needing any
database then dataset is considered as a model. Although today if you want any kind of
website you need to have some sort of database as you must be requiring some user input
even if you are creating a simple blog site. The model is the component which contains
Business Logic in Django architecture.
5.1.2 View
This component contains the UI logic in the Django architecture. View is actually the user
interface of the web-application and contains the parts like HTML, CSS and other frontend
technologies. Generally, this UI creates from the model’s component that is the content
comes from the model’s component. This view also sends responses to the user when the
application is used, to understand briefly, say that this view.py can deal with HttpResponse.
For linking the application, map the views.py in urls.py file. As already mentioned, urls.py
keeps track of all those different pages that is created and hence map each of them.
5.1.3 Template
This template helps us to create a dynamic website in an easy manner. The dynamic website
deals with dynamic data. Dynamic data deals with a scenario where each user is displayed
with their personalized data. The configuration of the template is done in settings.py file
under installed_apps. So, python code would search for the files under the template
subdirectory. HTML file can be created or import any dynamic web page from the browser
and place it under the template folder. And after that usual linking of this file in urls.py and
views.py to get a response is mandatory. In this way after linking all these together and
running the server, web application gets ready.
The files that are created automatically once a new project has been created.
• urls.py: The web page has to deal with many links, all the mappings from one page to
others can be done here.
• _init_.py: It is a python package and is invoked when the package or a module in the
package is imported. Usually use this to execute package initialization code, for
example for the initialization of package-level data.
• Settings.py: As the name indicates it contains all the website settings. In this file, can
register any applications that is created, the location of static files, database
configuration details, etc.
Django is a high-level framework that allows for truly quick development. The most
powerful Django packages outshine many other tools and impress software developers with
their incredible usefulness, versatility, reliability, scalability, security, accessibility, as well as
providing first-class guidance and assistance. What also sets them apart is that because the
Django web framework follows Python’s batteries included approach some of the large
Django packages are provided with sophisticated and robust capabilities.
They can be successfully and easily utilized in a variety of projects with the idea to develop
some of the most cutting-edge Django web apps in mind. Some of the use cases of the best
Django packages include REST APIs, debugging tools, and forms.
The following are the most used Django packages in the industry. These packages can assist
with REST APIs, views, forms, debug tools, data relationships, and more.
• Django REST framework: A solid base to build any HTTP-based REST API,
praised for providing powerful and flexible tools as well as impressive usability,
authentication policies, serialization, and extensive documentation.
• Sentry: A service meant to monitor a running application and errors or crashes that
occur when it’s working. It’s important that events are sent from every language.
• Django GUID: A library enabling matching a single HTTP request with all messages
coming from logs (the so-called correlation id). Django GUID is WSGI-supported and
also ASGI-supported.
• Cookie cutter Django: A framework for Django 3.1 that enables quick setup of a
new Django project. Works with Python 3.9. secure and handy comes with a custom
user model.
• Django Debug Toolbar: A toolbar that helps debug a Django application in the
browser, offering many built-in as well as third-party panels. It works on Django
versions 2.2, 3.0, and 3.1.
• Celery: It is one of basic yet powerful libraries for asynchronous tasks (running in the
background) processing. A guide on how to integrate Celery into a Django project can
be found here.
Django is built to encourage rapid development and clean, practical design. Like any web
application framework, it’s a toolkit of components needed when developing a site. Its
purpose is to provide a concrete foundation of the basics, allowing developers to focus on
parts of their site that are unique to their project and not waste time with the fundamental
boilerplate stuff.
Rapid Development: This Django architecture that separates in different components makes
it easy for multiple developers to work on different aspects of the same application
simultaneously. That is also one of the features of Django.
Loosely Coupled: This architecture of Django has different components which require each
other at certain parts of the application, at every instant, that increases the security of the
overall website. As the model file will now only save on our server rather than saving on the
webpage.
Excellent Documentation: Django has been best at documentation from the beginning, from
the point it became open source in 2005 to the present date, and the documentation has only
been getting better with active development of technology and it is also offered in different
languages.
Python Web-framework: It is one tool which can solve all kind of problems and in any kind
of operation out there, it can be used. It’s very simple and easy to use. This language can be
used in almost everything from web-development (Django) to machine learning and
everything in between.
SEO Optimised: This is a special feature of Django due to which it has edge over others.
SEO is search engine optimization as from the name it means that adding website to the
search box
or engine such that it appears in the top results. Django clears that concept by maintaining the
website through URLs rather than the IP addresses on the server, which makes it easy for
SEO engineers to add the website to the server while the web-developer don’t have to convert
the URL into some numeric code.
High Scalability: A lot of MNCs on a worldwide scale uses Django and it gets implement
there without any defects or errors. Thousands of tests and debugging and now with lots of
time on the market side as the opensource project makes Django ideal for anyone who wants
to make their websites error-free and scalable to a bigger environment.
Versatile in Nature: It is very versatile in its own Django way. The logical project structure
and MVT architecture of Django sometimes seem very limiting. But, that’s just opposite
because by giving us the files it is providing us with a solid foundation which can then be
used to make whichever application that want to create.
Offers High Security: Django is secure because it covers the loopholes by default which
were once left open for the backend developer to complete. Although while using Django,
may not feel it but those expert backend developers can tell the quality and security of the
work done by Django.
5.3.1 HTML
Hyper Text Markup Language is the main markup language for creating web pages and other
information that can be displayed in a web browser. It is written in the form of HTML
elements consisting of tags enclosed in angle brackets (like <html>), within the web page
content. HTML tags most commonly come in pairs like <h1> and </h1>, although some tags
represent empty elements and so are unpaired, for example <img>. There are two tags called
start and end tag (they are also called opening tags and closing tags). In between these tags’
web designers can add text, further tags, comments and other types of text-based content. The
purpose of a web browser is to read HTML documents and compose them into visible or
audible web pages. The browser does not display the HTML tags, but uses the tags to
interpret the content ofthe page. HTML elements form the building blocks of all websites. It
allows images and objects to be embedded and can be used to create interactive forms. It
provides a means to create structured documents by denoting structural semantics for text
such as headings, paragraphs, lists, links, quotes and other items. It can embed scripts written
in languages such as JavaScript which affect the behavior of HTML web pages.
5.3.2 CSS
Cascading Style Sheets (CSS) is a style sheet language used for describing the look and
formatting of a document written in a markup language. While most often used to style web
pages and interfaces written in HTML and XHTML, the language can be applied to any kind
of XML document, including plain XML, SVG and XUL. CSS is a cornerstone specification
of the web and almost all web pages use CSS style sheets to describetheir presentation.CSS is
designed primarily to enable the separation of document content from document presentation,
including elements such as the layout, colors, and fonts. This separation can improve content
accessibility, provide more flexibility and control in the specification.
5.3.3 Bootstrap
Bootstrap is an HTML, CSS & JS Library that focuses on simplifying the development of
informative web pages (as opposed to web apps). The primary purpose of adding it to a web
project is to apply Bootstrap's choices of color, size, font and layout to that project. As such,
the primary factor is whether the developers in charge find those choices to their liking. Once
added to a project, Bootstrap provides basic style definitions for all HTML elements. The
result is a uniform appearance for prose, tables and form elements across web browsers. In
addition, developers can take advantage of CSS classes defined in Bootstrap to further
customize the appearance of their contents. For example, Bootstrap has provisioned for light-
and dark-colored tables, page headings, more prominent pull quotes, and text with a
highlight. Bootstrap also comes with several JavaScript components in the form
of jQuery plugins. They provide additional user interface elements such as dialog
boxes, tooltips, and carousels. Each Bootstrap component consists of an HTML structure,
CSS declarations, and in some cases accompanying JavaScript code. They also extend the
functionality of some existing interface elements, including for example an auto-complete
function for input fields.
5.3.4 Python
tutorials include jokes from the show. Python is an interpreted language. Interpreted
languages do not need to be compiled to run. A program called an interpreter runs Python
code on almost any kind of computer. This means that a programmer can change the code and
quickly see the results. This also means Python is slower than a compiled language like C,
because it is not running machine code directly. Its standard library is made up of
many functions that come with Python when it is installed. On the Internet there are many
other libraries available that make it possible for the Python language to do more
things. Python is used by hundreds of thousands of programmers and is used in many places.
Sometimes only Python code is used for a program, but most of the time it is used to do
simple jobs while another programming language is used to do more complicated tasks.
Python's developers try to avoid changing the language to make it better until they have a lot
of things to change. Also, they try not to make small repairs, called patches, to unimportant
parts of the CPython reference implementation that would make it faster.
5.3.5 SQLite
SQLite uses an unusual type system for a SQL-compatible DBMS: instead of assigning
a type to a column as in most SQL database systems, types are assigned to individual values;
in language terms it is dynamically typed. Moreover, it is weakly typed in some of the same
ways that Perl is: one can insert a string into an integer column (although SQLite will try to
convert the string to an integer first, if the column's preferred type is integer). This adds
flexibility to columns, especially when bound to a dynamically typed scripting language.
However, the technique is not portable to other SQL products. A common criticism is that
SQLite's type system lacks the data integrity mechanism provided by statically typed columns
in other products. The SQLite web site describes a "strict affinity" mode, but this feature has
not yet been added. Tables normally include a hidden rowid index column, which gives faster
access. If a database includes an Integer Primary Key column, SQLite will typically optimize
it by treating it as an alias for rowid, causing the contents to be stored as a strictly typed 64-
bit signed integer and changing its behavior to be somewhat like an auto-incrementing
column. Future versions of SQLite may include a command to introspect whether a column
has behavior like that of rowid to differentiate these columns from weakly typed, non-
autoincrementing Integer Primary Keys. SQLite stores the entire database (definitions, tables,
indices, and the data itself) as a single cross-platform file on a host machine. It implements
this simple design by locking the entire database file during writing. SQLite read operations
can be multitasked, though writes can only be performed sequentially.
CHAPTER 6
6.1 Introduction
Online Library Management System is a system which maintains the information about the
books present in the library, their authors, the members of library to whom books are issued
and all. This is very difficult to organize manually. Maintenance of all this information
manually is a very complex task.Owing to the advancement of technology, organization of an
Online Library becomes much simple. The Online Library Management has been designed to
computerize and automate the operations performed over the information about themembers,
book issues and returns and all other operations. This computerization of library helps in
many instances of its maintenances. It reduces the workload of management as most of the
manual work done is reduced.
The current Library Management System in Python does not eliminate the process of
searching books within the library campus. Students have to find books manually. They have
to wait until they are not provided with their library card and token. For receiving book, they
have to show their library card and wait in line for their turns. The admin personnel also have
to look manually on which day which person will take the charge within library to manage
the overall work. The project library management system is capable to store all the
information in the database from where user will place their query and get the results on the
basis of their query. The Library Management System is designed with basic features such as
admin or librarian can add/view books and students’ detail in it. Available books can be
chosen by student once he login to the system and data can be extracted from the database.
• The main objective of this project is to manage the information of students, books and
the issued books efficiently.
• The students are requested to return the books within given time or else there is a fine
each day till the book is being returned.
• The project is divided into two categories: Student and Admin Panel.
• Here, the system displays all the issued books for the student and limits other access to
the student account.
• As he/she can only view issued book records which displays expiry dates, total fine
charge, and others.
• There is facility in the system to send any doubts or queries on the contact us page and
also one can see the information of the application on the about us page.
6.3 Functions
6.3.1 Admin
• Can view issued book with issued date and expiry date.
• Can view fine (10 rupees for each day expiry date)
• These above operations can be performed by admin once he/she login to the system
where he/she can find dashboard which contains some basic operations of library
management.
• Basic operations are Add Book, View Available Book, Issue Book, View Issued
Book, and View Student.
6.3.2 Student
• Can view their issued book only with expiry date and fine (if there any otherwise
zero)
CHAPTER 7
TESTING
In this chapter we will study about experimentation and result analysis. Experimentation is
the action or process of trying out new ideas, methods, or activities. Here we will perform
different tests on the project to check whether it works as expected by the user. The results of
the tests will be tabulated.
The primary purpose of testing is to detect software failures so that defects may be discovered
and corrected. The scope of software testing often includes examination of code as well as
execution of that code in various environments and conditions as well as examining the
aspects of code, for instance does it do what it is supposed to do and do what it needs do.
Home Page Both admin and Both can see the Successful
student can be able to home page.
see home page.
Admin Dashboard Admin can add and Only admin can add Successful
view book as well as and view book as
student. well as student.
Student functionality Can view their issued Student can be able to Successful
book only with expiry see their issued books
date and fine
CHAPTER 8
RESULTS
In figure 8.1 Home page contains the navbar with about us and contact us information as well
as admin and student instruction to proceed further.
In figure 8.2 the signup and signin page for admin to enter into the system and perform some
basic operations on the library.
In figure 8.3 admin registration form to fill the details about admin such as username and
password.
In figure 8.4 admin login form to enter into the admin dashboard to perform some basic
operations on the library.
In figure 8.5 student signup form to fill the details about student such as username, password,
enrollment and branch.
In figure 8.6 student login form to enter into the student dashboard to view how many books
have been issued.
In figure 8.7 shows the admin dashboard to perform some activity on the library management
such as add book, view book, issue book, view issued book and view student.
In figure 8.8 shows the form to add book to the library that this activity is done by admin only
In figure 8.9 shows the form to view how many books are added in the library that can be
recorded in table row format.
In figure 9 shows the form for issuing the book to the student in the library that consists of
Name and ISBN, Name and Enrollment.
In figure 9.1 shows the form to view the issued books of the students who are able to see their
borrowed books in the library with expiry date and fine.
In figure 9.2 shows the records of students that are observed by admin to see how many
students are registered in the library.
CHAPTER
25
SWOT ANALYSIS
SWOT analysis (strengths, weakness, opportunities and threats analysis) is a framework for
identifying and analyzing the internal and external factors that can have an impact on the
viability of a project, product, place or person.
Below is the SWOT Analysis of the firm I worked as an intern.
STRENGTHS WEAKNESSES
• Friendly Employees
OPPORTUNITIES THREATS
CHAPTER 10
CONCLUSION
The Library Management System allows the user to store the book details and the person’s
details. This software allows storing the details of all the data related to library. The
implementation of the system will reduce data entry time and provide readily calculated
reports. This website provides a computerized version of library management system which
willbenefit the students as well as the staff of the library.
The project entitled “Online Library Management System” is developed using HTML, CSS,
and Bootstrap as frontend and Python, SQLite database as backend. To computerize the
process of online management of books, issued and available books. This project has only the
basic features required for the library management. It also has a facility for student login
where student can login and can see status of books issued as well request for book with some
authors. It has a facility of admin login where admin can add books to the library and also
view student and also student can send their queries or doubts regarding any information
about the system.
REFERENCES