Library Management system designed for managing and operating various aspects of a library

Overview

Proposal

This proposal is written to clarify the project work of Information Systems, assigned to us as an individual task in order to tackle the cases of python programming language. Here, we have to develop a library management system that maintains the book information of the library (like reading the text file, displaying all available books for borrowing and so on).

Problem Statement

The problem introduced was to manage the library management system and update the management system according to the items used.

Aims and Objective

The aim of the given project is to make an application that manages the library books for the library. The main objective of the project is to complete all the given tasks in the best possible way. To achieve the aim, study and research are to be taken into consideration regarding the process which performs the library management system. To complete the targeted aims and objectives, lots of effort and hard work should be done.

Proposed Approach

To carry out all the tasks given in the project work, following approaches will be done:

  • Lots of research would be undertaken regarding the topics like algorithms, pseudocodes, flowcharts, python programming and method testing.
  • Algorithms would be written in proper understanding.
  • Data structures of suitable data types would be selected for writing the program.
  • Pseudocode would be written to prepare the rough scratch of the required program to be created.
  • Flowchart would be drawn for various paths that must be followed to perform the acts to complete the goals of the given program.
  • Lastly, the written program would be tested to make sure that it has no bugs and errors and prints the accurate result.

Hardware and Software Requirements 

To complete the given project work, different hardware and software are required. PC is used for carrying out all the tasks given in the project work. Python programming language is used for developing codes and as per the documentation part, Microsoft word is used.

Table of Contents

1. Introduction
2. Discussion and Analysis
3. AlgorithmStepwise algorithmPseudocodeFlowchart
4. Data Structure 
5. Testing
6. ResearchWebsitesJournals
7. Conclusions
8. Reference

Table of Figure

Figure 1 Microsoft Word
Figure 2 Python 3.8
Figure 3 Working space of draw.io
Figure 4 Flowchart of borrowing a book
Figure 5 Flowchart of returning book
Figure 6 Figure of testing of test 1
Figure 7 Figure of testing of test 2
Figure 8 Figure of testing of test 3
Figure 9 Figure of testing of test 4
Figure 10 Figure of testing of test 5
Figure 11 Figure of testing of borrow text file of test 5
Figure 12 Research for pseudocode
Figure 13 Research for loops
Figure 14 Research for modules 
Figures 15 Research for exceptional handling
Figure 16 Research for data structure
Figure 17 Journal for Python Programming Languages

1. Introduction

This is the report of the project work designed to produce a system or an application that handles library management systems. The program was developed with the precise aid of algorithms and pseudocodes accompanied by the flowcharts.

As the tasks assigned were not so easy. In order to describe our ability to understand and face the questions as well as demonstrate them in an illustrative way as per the requirement requires a lot of firmness.

This project work i.e. library management system is similar to the inventory system which will help the user to borrow and return the books available in the library. The library is a place where the user can borrow and return the book with his/her desire. The library lets its users choose any of the available books to borrow.

Well, you may ask why we need to develop this system when there is no need for it. Because the libraries of today are coping well with their old methods i.e. recording the user borrowed or returned history in the paper rather than in software. Even without the help of today’s modern software the libraries are managing and are not facing any problems. Yes, it is true but we should always see for the future progress. Because there are technological advances in every sector in today’s world.

With the new technologies and systems being brought up to life the old methods or techniques should start to change with the passage of time. There is a need for developing this system because our libraries are slowly changing into modern ones and they need the newly developed software. 

This software or program will help the libraries to keep the proper track of the books borrowed and returned by the user and will help them to ensure there is no loss of books. 

This system is user friendly and time-efficient and can help to avoid the unnecessary duplication of the data and makes it easier to understand.

The main feature of this project is that it will enable the user to understand the IDLE (Integrated Development and Learning Environment) in python and help them to use the system to the fullest. It will help even those people who don’t understand a little about the programming language to use this program to its fullest and without any errors. This program will let the programmer to work with different functions and statements and helps to understand the programming language more in depth.

2. Discussion and Analysis:

In the discussion portion of this task, a lot of research was done in order to solve the problem and also had a brief description about python in different websites and books. The websites from which I have taken help are given in the Bibliography section with the full detail of it. After hard work and regular contact with the module leaders and friends I was able to do this project work. There are some important things without which this task would not be possible to do.

Figure 1: Microsoft Word

This project work was designed with the help of different tools available throughout the researching section. To develop the documentation portion of this project work Microsoft Word 2016 .

Figure 2: Python 3.8

Likewise, to develop the developmental portion of the project work IDLE (Integrated Development and Learning Environment) of python 3.8 was used. All the codes were written and executed in the python shell window.

Furthermore, to develop the flowcharts a free online diagram software was used called draw.io which allows us to create different shapes and organize flowchart with the appropriate diagram. Moreover, research was done over various project work related topics using web browsers.

3. Algorithm

  1. Stepwise algorithm

Algorithm for borrowing book:

Step 1: Start

Step 2: Input the full name of the borrower.

Step 3: Is the name valid?

If yes, create borrow.txt file and store the borrower details 

Then go to step 4

If no, print “Invalid name” then go to step 2 

Step 4: Choose any one from the option of the book. 

Step 5: Is the book available?

If yes, append further details in the borrow.txt file 

Then go to step 6

If no, print “The book is not available.” Then go to step 4 

Step 6: Update the stock file from which the book is borrowed. 

Step 7: Do you want to borrow the next book?

If yes, go to step 4 

If no, go to step 8

Step 8: End

  1. Algorithm for Returning Book:

Step 1: Start

Step 2:  Input the name of the borrower. 

Step 3: Is the name valid?

If yes, read the borrow.txt file of the given name.

Then go to step 4

If no, print “Invalid name” then go to step 2

Step 4: Display the borrow.txt file of the given name.

Step 5: Generate return.txt file and update the stock file. Step 6: Is the book returned date expired?

If yes,

Go to step 7. If no,

Go to step 9.

Step 7: Add fine

fine= 5*day

Step 8: Add total fine and cost of the book.

Step 9: Output generated text file with the total cost. Step 10: End

  1.   Pseudocode

Pseudocode for borrowing book :

- input the full name

-if name is valid then

create borrow.txt file and store the borrower details in that file

else

print “Invalid name”

end if

-Choose any one index number from the option of the book.

-if the book available then

append further details in the borrow.txt file

else

print “The book is not available.”

end if

-Update the stock file from which the book is borrowed.

-while borrow book is true

Choose any one index number from the option of the book. 

If the book available then

append further details in the borrow.txt file

Else

print “The book is not available.”

end if

end while

Pseudocode for returning book:

-input the name

- if the name is valid then

read the borrow.txt file of the given name.

Else

print “Invalid name”

end if

-Display the borrow.txt file of the given name.

-Generate return.txt file and update the stock file.

-while returned date expired is true 

Add fine

Fine = 5*day

end while

-Add total fine and the cost of the book.

-display generated text file with the total cost.

Flowchart

Figure 4: Flowchart of borrowing book

Figure 5 : Flowchart of returning book

4. Data Structures

To carry out different operations in Python for input/output and for data storage this project makes the maximum utilization of the collection data type list. Python also provides varieties of data types like integer, string, Boolean, float etc. Some of the data types and data structures were used while writing the program to store and manipulate the data and perform various operations on them. The data types and structures used in the program are:

  1. Integer
  2. Float
  3. String
  4. Boolean
  5. List

Integer data type was used in the program to store all the numerical values provided by the users as well as the results developed from the different operations. For instance, it is used to store the quantity of the books in the variable quantity[index].

Similarly, float data type is used to store decimal values in the program. It is used to store the total cost price of the books in the variable total.

Correspondingly, string data type is used to store textual data having sequences of one or more characters. Various operations like choice, stat are carried out in string. Most of the printed statements in our .py file are often concatenated and of data type string. 

The different functions of our .py file string data type are used for storing the decision of the user.

Likewise, Boolean is used to store one character (either true or false). It is used in the program to check conditions and stored in variables like loop, success.

Moreover, the list is used to store values on book name, author name, quantity and cost in our .py file.

As the list is mutable collection data types, the value on the list can be added or removed as per the user needs by the use of methods append() and extend() which have been successful to include in different modules of our .py folder.

5. Testing

Testing is an important portion that is to be carried out while developing any program as it helps to find the error if there is any error and helps to debug the program. Testing helps us to get familiar with the type of error and handle the errors with the necessary formatting in the program.

Test-1

Action To check whether it can handle exceptions or not.
Expected Output It should be able to handle any sum of input of the user.
Actual Output The program was able to handle even the wrong input of the user.
Test Result The program runs in its flow until the user closes it.

Table 1: Table of test 1

Figure 6: Figure of testing of test 1

Test 2 :

Action To check whether the program can borrow multiple books or not.
Expected Output It should be able to ask the user whether to borrow more books or not.
Actual Output The program was able to ask the user whether to borrow more books or not.
Test Result Pass

Table 2: Table of test 2

Test-3

Action To check whether the quantity of books in the stock file.while borrowing is reduced by 1 or not.
Expected Output It should be able to reduce the quantity of books by 1.
Actual Output The program was able to reduce the quantity of books by 1.
Test Result Pass

Table 3: Table of test 3

Before borrowing book

  After borrowing book

 Test-4

Action To check whether the fine is added after returning the book or not.
Expected Output It should be able to display the returning book with the total cost.
Actual Output The program was able to display the returning book with the total cost.
Test Result Pass

Table 4: Table of test 4

Figure 9: Figure of testing of test 4

 Test-5

Action To check whether the data is stored in a text file or not.
Expected Output It should be able to store data in a text file.
Actual Output The program was able to store data in a stock file.
Test Result Pass

Table 5: Table of test 5

Figure 10: Figure of testing of test 5

Figure 11: Figure of testing of borrow text file of test 5

6. Research

The given project work was completed with lots of research which made the project work comparatively easier. The steady effort and boundless research related to different themes made the tasks less difficult to carry out. After various research and practise we were able to know how exactly the program runs and what are the correct codes for the program. Lots of websites, journals and books were consulted for gaining information on various important topics. The research not only enhanced our knowledge to complete the project work, it also sharpened our knowledge and understanding about various topics in python.

 6.1 Websites

https://study.com/academy/lesson/pseudocode-definition-examples-quiz.html


Figure 12: Research for pseudocode

I used this site to learn about the pseudocode to be written for the assigned program.

Figure 13: Research for loops

I used this website to have a sound knowledge on python loops and how they are used and operated.

Figure 14: Research for modules

I used this website to increase my understanding of python modules and packages.

Figure 15: Research for exceptional handling

I used this website to handle exceptions in the assigned python programming.

https://www.datacamp.com/community/tutorials/data-structures-python

Figure 16: Research for data structures

This site was used for gaining effective knowledge about the data structures. I became familiar with lots of terms related to types of data structures and their functions and advantages.

Journals

Python: A programming language for software integration and development

Figure 17: Journal for python programming language

This journal is written by M.F. SANNER which describes python, python numeric extensions, etc. I used this website to learn about the python programming language and its features over other programming languages.

Conclusion

This project work was finally completed with lots of hardship, several research on the related topics such as flowcharts, algorithm, pseudocode and so on. The tasks assigned in the project work were not easy at all. The code was written and tested to confirm that it had no bugs and errors and delivered the accurate result. For the successful completion of all the tasks, each task was carried out in steps, which made the task easier.

This project work helped the way to do a task in a certain time period in a managed way and also helped to develop skills which will be very helpful in the future as well. While doing the project I gained sound knowledge of python, its data structures, its various in-built functions, comments, while and for loops, if/else conditionals and many more. This project helped to gain valuable experience. All in all, although the tasks were tough and required nights of hard work and labor, successfully completing those tough tasks was a lot of fun.

Reference

  • Moran, Barbara B. and Claudia J. Morner. Library and information center management.
  • Rafols, Ismael, Alan L. Porter and Loet Leydesdoff. A tool for research policy and library management. 
  • Roitberg, Nurit. The influence of the electronic library on library management: a technological university library experience.
  • Ketan S., Rohini P. and Sankalp s. Pawar. Library management using RFID.
Owner
Prawal
Prawal
A full-stack clone of Instagram, allowing the user to interact with posts and other users.

This project is a full-stack clone of Instagram, allowing the user to interact with posts and other users

Alejandro Carrizosa Grant 4 Feb 14, 2022
A Django-based CMS with a focus on extensibility and concise code

FeinCMS - An extensible Django-based CMS When was the last time, that a pre-built software package you wanted to use got many things right, but in the

FeinCMS 847 Jan 07, 2023
🐰 Bunnybook 🐰 A tiny social network (for bunnies), built with FastAPI and React+RxJs.

🐰 Bunnybook 🐰 A tiny social network (for bunnies), built with FastAPI and React+RxJs. Click here for live demo! Included features: 💬 chat 🔴 online

Pietro Bassi 190 Jan 03, 2023
The easy-to-use and developer-friendly CMS

django CMS Open source enterprise content management system based on the Django framework and backed by the non-profit django CMS Association. Get inv

django CMS Association 9.1k Jan 08, 2023
用Hexo的方式管理WordPress(使用Github Actions自动更新文章到WordPress)

方圆小站Github仓库 ---start--- 目录(2021年02月17日更新) 《刺杀小说家》一个勇士屠恶龙救苍生的故事 衡水的中学为高考服务,996.icu为人民企业家服务 轻薄的代价(纪念不足两岁MacBook轻薄本的陨落) PP鸭最佳替代品!《图压》批量压缩图片而不损失画质,支持JPG,

zhaoolee 166 Jan 06, 2023
Flask-SQLAlchemy implementation of nested/threaded comment replies.

Threaded comments using Common Table Expressions (CTE) for a MySQL Flask blog or CMS Credits to peterspython Also read more about the implementation h

ONDIEK ELIJAH OCHIENG 5 Nov 12, 2022
A Django content management system focused on flexibility and user experience

Wagtail is an open source content management system built on Django, with a strong community and commercial support. It's focused on user experience,

Wagtail 13.8k Jan 01, 2023
Abilian Social Business Engine - an enterprise social networking / collaboration platform.

About Abilian SBE (Social Business Engine) is a platform for social business applications, and more specifically collaborative / enterprise 2.0 busine

Abilian open source projects 63 Dec 29, 2022
VaporCMS - The greatest content management system that will never exist

The greatest content management system that will never exist Overview WordPress is a huge success but could it be done better? Maybe being mo

Andrew Dailey 4 Jan 06, 2022
Django e-commerce website with Advanced Features and SEO Friendly

MyTech® - Your Technology Django e-commerce website with Advanced Features and SEO Friendly Images and Prices are only used for Demo purpose and does

28 Dec 21, 2022
CMS for everyone, easy to deploy and scale, robust modular system with many packages.

Django-Leonardo Full featured platform for fast and easy building extensible web applications. Don't waste your time searching stable solution for dai

97 Nov 17, 2022
A self-hosted application that lets you create podcast RSS feeds from YouTube playlists

Playlist2Podcast A self-hosted application that lets you create podcast RSS feeds from YouTube playlists. What Does This Do? Takes a list of YouTube p

Simon 12 Nov 14, 2022
Link aggregator community organised by tags in python3/django3 + sqlite3.

sic Link aggregator community organised by tags in python3/django3 + sqlite3. Public instance at https://sic.pm and Tor hidden service.

Manos Pitsidianakis 97 Dec 30, 2022
A website (webapp) to get food recipes by recipes names & ingredients.

Ramy's tedbira A website (aka: webapp) to get food recipes by recipes names & ingredients that you have in your fridge, using Django-framework and Spo

Rami Berrekia 15 Dec 23, 2022
An open source CMS, in python and integrable in Django

Python CMS based on the Django Framework

Titouan Bénard 0 Sep 10, 2021
Website for PyCon

PyCon 2019 Web Site Built by the Python Community atop the Django web framework. Rather than use this as the basis for your conference site directly,

PyCon 155 Nov 05, 2022
Backend routes and database for an abstract theoretical app that relates a database of courses, users, and assignments.

Backend routes and database for an abstract theoretical app that relates a database of courses, users, and assignments.

Sean Wiesner 0 Dec 27, 2021
A Django content management system focused on flexibility and user experience

Wagtail is an open source content management system built on Django, with a strong community and commercial support. It's focused on user experience,

Wagtail 13.8k Jan 02, 2023
Python scripts to interact with the CakeCMS API.

Python scripts to interact with the CakeCMS API. Installation of the python module Prerequisites The cakecms module has to be installed first. Install

Fabian Thomas 3 Jan 31, 2022
A plugin for Wagtail CMS, to have Icon Blocks (Fontawesome support)

WAGTAIL ICONIFY Library developed for Wagtail CMS, its purpose is to provide icon blocks from various libraries Special thanks to Alex Gleason, as wel

2 Jun 07, 2022