Christian Manuscript

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 166

LIBRARY MANAGEMENT SYSTEM FOR ZAMBOANGA PENINSULA

POLYTECHNIC STATE UNIVERSITY WITH BARCODE SCANNER

An IT Capstone Project
presented to the Faculty of the
College of Information and Computing Science
Zamboanga Peninsula Polytechnic State University

In Partial Fulfillment of the Requirements


for the degree in Bachelor of Science in Information Technology

By
Christian C. Sanoh
Jacob G. Candido
Karl E. Marcos
Jovelyn R. Imbo

BELYN R. ENGUERRA, MEngg.Ed.


Adviser
January 20, 2023
CHAPTER I

INTRODUCTION`

The library is considered an integral component of any educational system. It plays a


vital role in the students’ academic success and performance as it provides reliable and
beneficial information that the students need. Unfortunately, students prefer surfing the
Internet for ready information despite the issue of in appropriateness and reliability because
of the absence of a well-organized and up-to-date library system that makes it easy for
students to find and borrow the books they need. Hence, schools should provide an
environment-friendly system that will encourage students to use the library more often.
Prior research on academic library services have indicated that the impact of library
services on the success of the students can be associated with the students’ satisfaction on the
library system that is made available when borrowing reading materials from the library
(Soltani & Nikou, 2020). It is therefore important for the librarian to have a thorough
knowledge about student’s needs. For this the librarian and the entire school or university
must improve the kind of services that will make the library a conducive place of learning.
This could be achieved by making the transaction time short and accurate without sacrificing
the quality of the reading materials that the library can offer. Therefore, a well-organized and
up-to-date management system should be in place to help users find their materials and fulfill
their needs.

1.1 Project Context


The academic library of the Zamboanga Peninsula Polytechnic State University
(ZPPSU) has become vital and indispensable in providing information to both the students
and faculty right after its conversion into a university status. The rapid growth and fast
changing environment in the university has left behind many information providers and the
users struggling to get the current information from the library.
Unfortunately, as observed by the proponents of this capstone project, the existing
library system of the ZPPSU is not that well conducive for students in acquiring the library
services particularly on borrowing books based on the following accounts: First, availability
of books is determined online, and when Internet connection is unavailable, this process has
to be done manually. Second, records of transactions (borrowing and returning) are encoded
manually by registering the title of the book, author and subsequently encoding the name of
the student client. This implies that when the book is available, the borrower will have to fill
out the book card and present the book card with the book borrowed to the librarian. Then the
librarian will write down the due date into the slip of paper. This process consumes more
time, causes the delay due to loading problems, and sometimes resulting to misplaced of
transaction records (slip of paper). This long process makes students discouraged to borrow
books from the library.
It is for this reason that the proponents are proposing this capstone project that will
make the transactions in the library easier, faster, accurate and environment friendly. The
proponent is proposing for an offline system with the aid of a barcode scanner. The proposed
system can check the available books offline. Once the book has been identified to be
available, the library personnel can get the book from the shelve, scan the barcode of the
book using the barcode scanner, then search for the name of the borrower in the system, then
click borrow. The same procedure shall be followed in the return of books by clicking the
return icon. This proposed system can easily monitor and allocate the penalty of every
borrower who did not return the book on time. It can also provide accurate and reliable
inventory reports of the borrowed and returned books in the ZCPPSU Library.

1.2 Purpose and Description


The main purpose of this capstone project is to develop a Library Management System
for the Zamboanga Peninsula Polytechnic State University (ZPPSU). This system would help
the Library of the University to easily track and monitor the information of the borrowers and
of the books. The features of the system are the following:

a) Log - in and Log - out Services. This refers to one of the features of the developed
system that required users to enter their Username and Password to be able to use
the system in the Library of the ZPPSU and allows the admin to access the overall
functionalities of the system.
b) List of Borrowers. This feature of the system is a guide the librarian to determine
the books that were borrowed and if they are already registered into the system.
c) Add Book. This is where will the user add a new book.
d) Add Borrower. This is where the user will add a new borrower member.
e) Borrow. This is the feature where the user will input the details if someone wants
to borrow.
f) List of Books. This feature will show what are the available books and their
quantity
g) Transactions. This feature will show reports of the library.

This propose project will be of great help to the university library. This could lessen the
time of transaction, easy to track the data, and above all a user-friendly system.

1.3 Objectives

This study aims to develop a Library Management System for Zamboanga Peninsula
Polytechnic State University with Barcode Scanner.

Specific Objectives

1. To develop a system that has an admin account for monitoring the library.
2. To manage the records of transactions in the library.
3. To build a system that has a barcode capability.
4. Generate a function

Scope and Limitation

Scope

The system capable of adding new books, searching books, adding students,
removing borrowers, viewing student’s information, edit borrower’s information, edit
books details, scan an assigned barcode of each book, edit the quantity of penalty fees
and due date of borrowing. Capable to print the reports of the transaction.

Limitation

The system is not capable of accepting student concerns.

 The system does not require internet connection.


 The student is not capable to manage the system.
 The system is not capable of online payment transaction.
 The staff was not capable of deleting the book.
1.5 Definition of Terms

Barcode – It generates a barcode for each book so that the process would be faster if
there is someone barrowing a book.

Barcode Scanner – It is used to scan a generated barcode of the book.

Library – It is a collection books, journals, copies of non-printing material where


people borrow a book for research, read and etc.
CHAPTER II
REVIEW OF RELATED LITERATURE AND STUDIES

This chapter includes related literature and studies with regard to Library Management
System. Below are the following Foreign and Local Related Literature and Studies.

2.1 Foreign Local Related Literature

According to Valenti (2016) from the article entitled “The State of Library
Management Systems,” library system helps a lot in terms of some transactions in the library.
On this article the automated library systems can do multitasking. It can do recording of
books and other different transactions. It can make the library service convenient like making
card cataloging. Therefore, multitasking in library services can help students in a variety of
ways. The system will be the one to record all the transaction inside the library so it decreases
the task of the librarian while avoiding records lost due to human errors.

Foreign Local Related Study

According to Agarwal (2013) on the research entitled “Online Library Management


System,” the main problem of the different libraries worldwide is they still the manual
method. Hence, researchers are proposing for an automated system that will have better log in
form and to record quickly the borrowed books. In this way, the librarian or the staffs can
monitor every time the books that were carried out by the students. Therefore, the online
library management system can be used outdoor or even without the school library. You can
access or borrow books using the internet. It will be very convenient and less time
consuming.
2.2 Foreign and local Related System

Library Management System Project Report

The Library Management System (LMS) is a program that helps librarians manage a
library. Based on the needs of users, the system could provide a minimal set of
functionalities, such as adding and updating members and books. This system can also handle
check-in specifications, borrower’s transactions and more. A library management system can
automatically cater all of library information and transactions. It aims to organize all of the
activities involved in library management software. This can also provide information about
the books in the library, their authors, library members, book borrowers, and library
personnel.

Figure 2.2.1 Library Management System


Library Management System Mini Project Report

Library Management System is an application that refers to systems which are


generally small or medium in size. It is used by librarian to manage the library using a
computerized system where he/she can record various transactions like issue of books, return
of books, addition of new books, addition of new students, etc. Books and student
maintenance modules are also included in this system which would keep track of the students
using the library and also a detailed description about the books a library contains. With this
computerized system there will be no loss of book records or member records which
generally happens when a non-computerized system is used.

Figure 2.2.2 Soe Library Management System Home Page


Library Management System

With the advancement of technology, it is imperative to exalt all the systems into a
user-friendly manner. The Library Management system (LMS) acts as a tool to transform
traditional libraries into digital libraries. In traditional libraries, the students/users have to
search for books which are hassle process and there is no proper maintenance of database
about issues/fines. The overall progress of work is slow and it is impossible to generate a fast
report. The librarians have to work with allotted time for arranging, sorting books in the
book shelves. At the same time, they have to check and monitor the lend/borrow book details
with its fine. It is a tedious process to work simultaneously in different sectors. LMS will
assist the librarians to work easily. The LMS supports the librarians to encounter all the
issues concurrently.

Figure 2.2.3 Library Management System Adding new book.


Library Management System with Topic Modelling and its Adaptability to Open and
Distance Learning Libraries

The 1980s and 1990s saw an increase in the deployment of Integrated Library
Systems (ILS) as libraries started automating their operations and continued to do so.
Because of these systems, libraries staff work in many cases more efficiently than in the past. 
Although these systems are constrictive, they have changed throughout time because of
efficiency-enhancing procedures. The ability to "search" is one of the areas with expanded
capabilities, which expands on the use of topic modeling as a novel element in
contemporary library systems that are integrated in institutions of distance and open learning.
Users can now take part and look for fresh approaches to solve text classification and data
exploration issues.

and

Figure 2.2.4 Library Management System with Topic Modeling and Its Adaptability to
Open and Distance Learning Libraries

Figure 2.2.4 Library Management System with Topic Modelling and its Adaptability to
Open and Distance Learning Libraries
2.4 Table of Comparison

System Library Library


Library Library Library
Features Management Management
Management Management Management
System Mini System for
System System System with Topic
Project Report Zamboanga
Project Modeling and Its
Peninsula
Report Adaptability try to
Polytechnic
Open and distance
State
Learning
University
Libraries

Add Borrower, Yes Yes Yes Yes Yes


add member,
delete, edit
borrower
Book/Add Yes Yes Yes Yes Yes
book/edit
book/delete
book/Lost
Book/Damage
book/print
booklist/print
books barcode
Admin/Add Yes Yes Yes Yes Yes
staff/edit staff
Borrow/Options Yes Yes Yes Yes Yes
(Book quantity,
Penalty, Days of
Borrowing)

INVENTORY Yes Yes Yes Yes Yes


(Borrowed
book, Returned
book)

TRANSACTIONS Yes Yes Yes Yes Yes


REPORTS
(List of
Borrower, List
of Return)

Print Report No No No No Yes

Barcode No No No No Yes
Scanner

2.3 Synthesis

A library management system with Barcode Scanner is a system which is used to track
books. The above-mentioned concept on computerization of library system with Barcode is
relevant to the present project because this will serve as a foundation of library management
system for other schools who want to make the library transactions faster and easy.
CHAPTER III

In this chapter discuss about the technology of the proponent about to use and
explanation for all these technical developments for the proposed system, this section
contains the hardware, software, people ware, and network used to develop and implement
the system. The software development methodology used on how the project will work is
also discussed here.

3.1 Discussion Software Development Life Cycle and each Phases

Agile methodology model will be used by the proponent in developing this capstone
project. Agile methodology model is an iterative approach to project management and
software development that may help admin make work faster and with fewer headaches.
Unlike the online system which becomes useless when internet connection becomes
unavailable, the offline system can still manage even without internet connection.

The first phase is the planning phase, wherein the proponents conduct key informant
interviews (KII) to gather ideas and information for the development of this capstone project.
These interviews coupled with the Agile Methodology Model helped the proponent in the
conceptualization and fast development of the project. Second is the design phase, where the
proponents had simply designed the interface of the propose project. The interface of the
Zamboanga Peninsula Polytechnic State University Library Management System with
Barcode Scanner is considered to be a user friendly because most of the functions can easily
be understood and can be operated with just a click button. Example, when the user wants to
delete a data, just simply press the bottom “delete”. The third phase is the development phase
where solutions are identified to improve the existing library system. In the development
phase, the proponents developed a reliable library system that enables optimization of the
resources and to create a system that contributes for the harmonization of the current library
system. Testing phase is the fourth phase. This is necessary to ensure that the proposed
library system will really work. There shall be an evaluation to be conducted by experts from
the ZPPSU. Their recommendations and feedbacks will be considered for the improvement of
the proposed library system.

3.2 Details of technology to be used

The following are the Hardware and Software to be used:

Hardware

 Any desktop or laptop with an operating system that can runs an internet browser.
 Barcode Scanner

Software

 Operating System Windows 10 / 8 / 7


 PHP – is a widely-used open-source general-purpose scripting language that is
especially suited for web development and can be embedded into HTML.
 CSS – Describes how HTML elements are to be displayed on screen, paper or in
other media
 HTML – Hypertext markup language, a standardized system for tagging text files
to achieve font, color, graphic, hyperlink effects on world wide web page.
 BOOTSTRAP 5 – To boot or to load a program into a computer using smaller
initial program to load in the desired program.
 Wamp – It’s a software stack which means installing WAMP installs Apache, My
SQL, and PHP on our operating system.
People ware

 Project Manager
 System Analysis
 Programmer
 System assurance

3.3 How the project will worked

A Library Management System for Zamboanga Peninsula Polytechnic State


University is a project that manages and stores books information. The system intends to
help students and librarians in maintaining a continual track of all books available in the
library. The system allows the administrator to conduct research for the desired book easily.
The library of Zamboanga Peninsula Polytechnic State University must keep a continual
check on all books provided and returned, as well as keep track of fines. If the librarian or
library manager does this operation manually, there is a possibility that they will make
mistakes by checking the books information. These errors are prevented by allowing the
system to maintain track of information such as the date of issue, and the last due date of the
books. There is no need to keep manual track of the information, reducing the possibilities of
returning and borrowing books incorrectly. Every book would generate a barcode for the
library personnel to process easily the borrowing and returning of the books without typing
the information using the keyboard.
CHAPTER IV

METHODOLOGY

This chapter present the methodology used in the collection of data and how the data
were analyzed. Key informant interviews were conducted to gather valid information from
knowledgeable individuals. Questions were asked form the selected participants/respondents
such as: “What are the main problems of their school library?” and “What are the possible
solutions to these problems?”

Figure 4.1 Agile Methodology

The Agile Methodology Model was utilized to come up with the proposed library
system. The proponents used this methodology because it is more convenient and accessible.

4.1 Requirement Analysis


Library Management System is an automated system which helps librarian to control
the daily library activities in digital format. It lessens the paper work, hence making the
transaction finish faster, and avoid the losing of files. It makes the transaction effective and
efficient. The functional and nonfunctional requirements are included in LMS to offer whole
description and outline of system requirement before the developing process is carried out.

4.2 Requirements Documentation

Prior to the collection of data through interviews, the proponent first request permission
from individual clients and subsequently get their approval. Informants were properly
informed that their responses will remain completely confidential and only summated group
data will be reported and no names will be linked to the responses. The information gathered
during the interviews were properly documented.

FUNCTIONAL REQUIREMENTS

Administrator:

 Books tab, where the admin can view the list of book and add new books
 Borrow tab, where the admin can scan the books when it is borrowed
 View the list of books
 View the list of barcodes
 Printing the names of borrowers
 Printing the borrowers’ penalty record
 Generate barcode
 Print list of barcodes
 Print list of books
 Print the transaction report
 Add member
 Edit books
 Edit the days of borrow
 Edit the penalty
 Delete member
 Edit member information
 Viewing the list of new books
 Viewing the list of lost books
 Viewing the list of damaged books
 Delete book
 NONFUNCTIONAL REQUIREMENTS
 Operational
1.1 The Zamboanga peninsula polytechnic state university library
management system with barcode scanner operates on PC’s, laptop and also,
we use barcode scanner for scanning the books.
1.2 The admin is not required an internet connection
 Security
2.1 only the admin can view the information of borrower
2.2 only the admin can edit the borrower information.
 Efficiency
3.1 The Staff or the librarian of the library would easily access the library, thus
searching and book transaction would be very fast.
 Usability Requirement
4.1 The system is designed for a user-friendly environment so that the admin
and staff of library could perform the various tasks easily and in an effective
way.

4.3.1 Design of software, System, Product, and/or Processes

The proponents of the proposed library system ensure the users that the said design
can easily be understood by providing an instance of what the system should be like. Use
Case Analysis, Data Flow Diagram, Entity-Relationship Diagram, and Architecture Design
are all components of software or system design.
Use case Analysis
Figure 4.3.2 Use case Analysis

On the use of case diagram, the admin has a dashboard where he/she will manage the
whole system such as add new books, edit books, edit borrower information edit the penalty
days, add new staff. The other personnel/staff, however, cannot edit the books, add books,
penalty days or adding a staff.

Context Diagram Level 0

Figure 4.3.3 Context Diagram

Figure 4.3.2 shows the context diagram flow how the admin (user) could add a
member. If the admin searches the name or ID number of the borrower, the admin would
know if the borrower was registered into the system or not, and would also know if the book
is available or not.

DATA FLOW DIAGRAM LEVEL 1

Figure 4.3.4 Data Flow Diagram


Figure 4.3.3 shows the process and the data flow of the system. Every information of
the books and of the borrowers that the admin had inputted into the system are automatically
saved into the designated database.

Entity-relationship Diagram
Figure 4.3.8 Entity Relationship Diagram

Figure 4.3.8 shows the relationship between and among the entities and all the
attributes therein.

Architectural Design
Librarian

Figure 4.3.9 Architectural Design

Figure 4.3.9 shows the cycle process of the proposed project.


4.4 Development and Testing Plan

4.4.1Development

In development of the system, the proponents used the HTML, CSS, JavaScript and PHP 5 for the front end, and wampp for the
back end. The proponents ensure that the system is one hundred percent functional and could easily track if there’s an error into the
system. It also ensures that the user could input the information of the member and of the book without any difficulty.

4.4.2 Testing Plan

The System was after the proposed project was developed. It was tested by five library personnel. The team leader had assigned
each personnel to test the system.
Project Work Plan

Septembe October Novembe Decembe January


Task Duration Start Finish r r r
Task Name
ID (Days) Date Date 4
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3

Requirements Gathering 10 09/01/22 09/14/22


I Chapter 1: Introduction 5 09/14/22 09/20/22
1.1 Project Context 4 09/20/22 09/23/22
1.2 Purpose & Description 4 09/20/22 09/23/22
1.3 Objectives 3 09/26/22 09/28/22
1.4 Scope and Limitation 5 09/26/22 09/3022
1.5 Definition of Terms 2 09/26/22 09/27/22
Chapter 2: Review Related Literature
II 10 10/03/22 10/14/22
and Systems
Foreign and Local Related
2.1 4 10/03/22 10/06/22
Literature/Studies
2.2 Foreign And Local Related Systems 4 10/07/22 10/12/22
2.3 Table of Comparison 1 10/13/22 10/13/22
2.4 Synthesis 1 10/14/22 10/14/22
III Chapter 3: Technical Background 10 10/17/22 10/28/22
3.1 The Technicality of The Project 4 10/17/22 10/20/22
3.2 Details of Technologies to Be Used 4 10/21/22 10/26/22
3.3 How the Project Will Work 3 10/26/22 10/28/22
IV Chapter 4: Methodology 43 11/01/22 12/29/22
4.1 Requirements Analysis 5 11/01/22 11/07/22
4.2 Requirements Documentation 5 11/08/22 11/14/22
Design of Software, Systems, Product,
4.3 11 11/15/22 11/29/22
and/or Process
Use Case Analysis
Data Flow Diagram
Entity-Relationship Diagram
Architectural Design
4.4 Development and Testing Plan 11 11/30/22 12/14/22
Project Work Plan
Project Teamwork
4.5 Description Prototype 4 12/15/22 12/21/22
4.6 Implementation Plan 4 12/21/22 12 /26/22
4.7 Implementation Result 3 12/27/22 12/29/22
Chapter 5: Conclusion and
V 1 12/01/22 01/16/23
Recommendation
Project Team Work Assignment and Responsibilities

Phases Team Tasks

Plan Christian Sanoh Gather information for the


All Member implementation of the project

Design Christian Sanoh Conducts an interview to the client


asking what might be the design
that client desire

All Member Assist the team leader in the design


the project proposal

Development Karl Marcos Programmer

All Member Assist the developer of the project


and provide the information that
they have gathered

Testing Christian Sanoh Responsible to check if the


documentation sink to the system.

All Member List down what and where would


going to revise or to arrange of the
designated problems

Deployment All Member Help each other once the propose


project will be deployed

All Member Teach the client how the system


works.

Release All Member Helps in the immediate deployment


of the proposed project

All member List what are the possible feedback


of the clients

Unit test

The system had completed to a unit test, and it works and runs successfully.

System test
The tabulated table show the total rating of capabilities and features of the system of
the 5 respondents that undergo the testing phase of the proposed project.

System’s Capabilities and Features Mean Descriptive Ratings

A. Functional Suitability

1. Functional Completeness. The system covers all the specified tasks 4.60 Strongly agree
and user objectives.

2. Functional Correctness. The system provides the correct results with 4.80 Strongly agree
the needed degree of precision.

3. Functional Appropriateness. The system facilitates the 5.00 Very strongly agree
accomplishment of specified tasks and objectives.

B. Performance Efficiency

4. Time Behavior. The system’s response and processing times and 5.00 Very strongly agree
throughput rates when performing its functions meet requirements.

5. Resource Utilization. The system’s amounts and types of resources 4.60 Strongly agree
used when performing its functions, meet requirements.

6. Capacity. The system’s maximum limits of parameters meet 4.80 Strongly agree
requirements.

C. Compatibility

7. Co-existence. The system can perform its required functions 4.40 Strongly agree
efficiently while sharing a common environment and resources with
other products, without detrimental impact on any other product.

8. Interoperability. The system can exchange information and use the 4.60 Strongly agree
information that has been exchanged.

D. Usability

9. Appropriateness Recognizability. The system allows users to 4.80 Strongly agree


recognize if it is appropriate for their needs.

10. Learnability. The system can be used by specified users to achieve 4.80 Strongly agree
specified goals of learning to use the application with effectiveness,
System’s Capabilities and Features Mean Descriptive Ratings

efficiency, freedom from risk and satisfaction in a specified context of


use.

11. Operability. The system has attributes that make it easy to operate and 5.00 Very strongly agree
control.

12. User Error Protection. The system protects users against making 5.00 Very strongly agree
errors.

13. User Interaction Aesthetics. The system’s user interface enables 5.00 Very strongly agree
pleasing and satisfying interaction for the user.

14. Accessibility. The system can be used by people with the widest range 4.80 Strongly agree
of characteristics and capabilities to achieve a specified goal in a
specified context of use.

E. Reliability

15. Maturity. The system meets the needs for reliability under normal 4.60 Strongly agree
operation

16. Availability. The system is operational and accessible when required 5.00 Very strongly agree
for use.

17. Fault Tolerance. The system operates as intended despite the 5.00 Very strongly agree
presence of hardware or software faults.

18. Recoverability. The system can recover the data directly affected and 5.00 Very strongly agree
re-establish the desired state.

F. Security

19. Confidentiality. The system ensures that data are accessible only to
those authorized to have access.

20. Integrity. The system prevents unauthorized access to, or modification 5.00 Very strongly agree
of, computer programs or data.

21. Non-repudiation. The system can be proven to have taken place, so 5.00 Very strongly agree
that the events or actions cannot be repudiated later.

G. Portability
System’s Capabilities and Features Mean Descriptive Ratings

22. Adaptability. The system can effectively and efficiently be adapted 4.80 Strongly agree
for different or evolving hardware, software or other operational or
usage environments

23. Install ability. The system can be successfully installed and/or 5.00 Very strongly agree
uninstalled in a specified environment

4.5 Description of the prototype

While designing something from scratch, it is inevitable that problems will arise. For
this reason, the designer needs to change the product and iterate the process of designing. In
such cases, the most sensible approach is to start by making a prototype first. It is optimized
for ease and speed of development and also possible to change and modify it. It enables the
designer to present a demonstrable product before planning to move to production. It also
eliminates the iron out issues of scaling up and polish during the process of manufacture.

In this interface where user can log in the account given.


It is on this interface where you can view the dashboard.

This module shows the list of member’s information who registered into the system.
This module shows the list of books where you can scan for borrowing.

This module shows where you can select the name of the borrower.
This module shows where you can select the ID number of borrower, and edit the number of
days of the books when it is borrowed

This module shows the date of return.


This module shows the date of the transaction report.

4.6 Implementation Plan

In the proposed system, all the members should have their own task to do the system
implementation. To become a library with a Barcode Scanner system, development of the
strategic plan has to be done collaboratively in order to ensure that all members of this
research group are doing their best. All the members should understand their roles and
responsibilities to ensure the system’s success. In this phase, a group member pay attention to
details and monitor processes to implement quick changes as required.
CHAPTER V
CONCLUSIONS AND RECOMMENDATIONS

Conclusion

The proposed library system for the Zamboanga Peninsula Polytechnic State University
(ZPPSU) was analyzed successfully. The system has been tested and proven to be user
friendly. It became very helpful to the library’s admin as it lessens paper work and it is easy
to use. The system can still operate even without internet connection. Compared to the
existing system of the ZPPSU, the proposed system is far better because it can still operate
even without internet connection. The propose library system with barcode scanner can finish
the transaction faster resulting to effective and efficient results particularly in managing
records of library transactions. Therefore, utilizing the proposed library system for the
ZPPSU library is a wise and good decision to make.

RECOMMENDATIONS

The proposed system introduced by the proponents/researchers should be adopted by


the Zamboanga Peninsula Polytechnic State University Library because it could help speed
up library transactions and other related library works. Further enhancement is recommended
particularly on adding another UI for the computer lab of the library, and for the user to
monitor or to track the time usage of the computer of each student. It is also recommended to
put color highlight in each of the icon, as well as add a module for the total amount of
penalty.

Bibliography

Agarwal, A. (2016). Online Library Management System.


https://www.coursehero.com/file/80479461/CHAPTER-IIdocx/
Alikira, R. (2012, November 22). Electronic Library Management System (ELMS). GRIN.
Retrieved July 8, 2022, from https://www.grin.com/document/205391?
fbclid=IwAR11fYxgl26mcnXj0kWtuTDaKiFvGoCeoGGjuF4umBj5WubmSLFuaXR
OKGc
Babafemi, R. A. (2019). The use and effect of smartphones in students’ learning activities ...
LIBRARY MANAGEMENT SYSTEM WITH TOPIC MODELLING AND ITS
ADAPTABILITY TO OPEN AND DISTANCE LEARNING LIBRARIES. Retrieved
January 13, 2023, from https://digitalcommons.unl.edu/cgi/viewcontent.cgi?
article=6260&context=libphilprac
Schamber, L. (1990, October 31). Automation for the School Library Media Center. Eric
Digest. ERIC. Retrieved July 8, 2022, from https://eric.ed.gov/?id=ED327217
Soltani, S. and Nikou, S. (2020), "An assessment of academic library services: international
and domestic students perspectives", Library Management, Vol. 41 No. 8/9, pp. 631-
653. https://doi.org/10.1108/LM-04-2020-0071
Valenti, E. (2016). The State of Library Management System.
https://documents.pub/document/the-state-of-library-management-systems-2016.html?
page=1
Soltani, S. and Nikou, S. (2020), "An assessment of academic library services: international
and domestic students perspectives", Library Management, Vol. 41 No. 8/9, pp. 631-
653. https://doi.org/10.1108/LM-04-2020-0071

APPENDICES A
Evidence of Conducting an Interview
This picture shows the evidence of the proponent that they conduct an interview for them to
acquire the requirements to develop this project.
Appendices B
Process data

Appendices C
Relevant Source code
add_user.php

<?php include ('header.php'); ?>

<div class="page-title">

<div class="title_left">

<h3>

<small>Home / Admin Profile /</small> Add Admin

</h3>

</div>

</div>

<div class="clearfix"></div>
<div class="row">

<div class="col-md-12 col-sm-12 col-xs-12">

<div class="x_panel">

<div class="x_title">

<h2><i class="fa fa-plus"></i> Add Admin</h2>

<ul class="nav navbar-right panel_toolbox">

<li><a class="collapse-link"><i class="fa fa-chevron-up"></i></a></li>

<!-- If needed

<li class="dropdown">

<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-


expanded="false">

<i class="fa fa-wrench"></i>

</a>

<ul class="dropdown-menu" role="menu">

<li><a href="#">Settings 1</a></li>

<li><a href="#">Settings 2</a></li>

</ul>

</li>

-->

<li><a class="close-link"><i class="fa fa-close"></i></a></li>

</ul>

<div class="clearfix"></div>

</div>

<div class="x_content">
<!-- content starts here -->

<form method="post" enctype="multipart/form-data" class="form-horizontal form-


label-left">

<div class="form-group">

<label class="control-label col-md-4" for="first-name">First Name <span


class="required" style="color:red;">*</span>

</label>

<div class="col-md-3">

<input type="text" name="firstname" id="first-name2" required="required"


class="form-control col-md-7 col-xs-12">

</div>

</div>

<div class="form-group">

<label class="control-label col-md-4" for="first-name">Middle Name

</label>

<div class="col-md-3">

<input type="text" name="middlename" placeholder="MI / Middle Name....."


id="first-name2" class="form-control col-md-7 col-xs-12">

</div>

</div>

<div class="form-group">

<label class="control-label col-md-4" for="last-name">Last Name <span


class="required" style="color:red;">*</span>

</label>

<div class="col-md-3">
<input type="text" name="lastname" id="last-name2" required="required"
class="form-control col-md-7 col-xs-12">

</div>

</div>

<div class="form-group">

<label class="control-label col-md-4" for="last-name">User Name <span


class="required" style="color:red;">*</span>

</label>

<div class="col-md-4">

<input type="text" name="username" id="last-name2" required="required"


class="form-control col-md-7 col-xs-12">

</div>

</div>

<div class="form-group">

<label class="control-label col-md-4" for="last-name">Password <span


class="required" style="color:red;">*</span>

</label>

<div class="col-md-4">

<input type="password" name="password" id="last-name2"


required="required" class="form-control col-md-7 col-xs-12">

</div>

</div>

<div class="form-group">

<label class="control-label col-md-4" for="last-name">Confirm Password <span


class="required" style="color:red;">*</span>

</label>

<div class="col-md-4">
<input type="password" name="confirm_password" id="last-name2"
required="required" class="form-control col-md-7 col-xs-12">

</div>

</div>

<!--- <div class="form-group">

<label class="control-label col-md-4" for="last-name">Admin Type <span


class="required">*</span>

</label>

<div class="col-md-4">

<select name="admin_type" class="select2_single form-control"


required="required" tabindex="-1" >

<option>Admin</option>

<option>Encoder</option>

</select>

</div>

</div>-->

<div class="form-group">

<label class="control-label col-md-4" for="last-name">Admin Image

</label>

<div class="col-md-4">

<input type="file" style="height:44px;" name="image" id="last-name2"


class="form-control col-md-7 col-xs-12">

</div>

</div>

<div class="ln_solid"></div>
<div class="form-group">

<div class="col-md-9 col-sm-9 col-xs-12 col-md-offset-3">

<a href="admin.php"><button type="button" class="btn btn-primary"><i


class="fa fa-times-circle-o"></i> Cancel</button></a>

<button type="submit" name="submit" class="btn btn-success"><i class="fa


fa-plus-square"></i> Submit</button>

</div>

</div>

</form>

<?php

include ('include/dbcon.php');

if (!isset($_FILES['image']['tmp_name'])) {

echo "";

}else{

$file=$_FILES['image']['tmp_name'];

$image = $_FILES["image"] ["name"];

$image_name= addslashes($_FILES['image']
['name']);

$size = $_FILES["image"] ["size"];

$error = $_FILES["image"] ["error"];

if($size > 10000000)


//conditions for the file

{
die("Format is not
allowed or file size is too big!");

else

move_uploaded_file($_FILES["image"]["tmp_name"],"upload/" . $_FILES["image"]["name"]);

$profile=$_FILES["image"]
["name"];

$firstname =
$_POST['firstname'];

$middlename =
$_POST['middlename'];

$lastname =
$_POST['lastname'];

$username =
$_POST['username'];

$password =
$_POST['password'];

$confirm_password =
$_POST['confirm_password'];

// $admin_type =
$_POST['admin_type'];
$result=mysqli_query($con,"select * from admin WHERE
username='$username' ") or die (mysqli_error());

$row=mysqli_num_rows($result);

if ($row > 0)

echo "<script>alert('Username already taken!');


window.location='add_admin.php'</script>";

elseif($password != $confirm_password)

echo "<script>alert('Password do not match!');


window.location='add_admin.php'</script>";

}else

mysqli_query($con,"insert into admin (firstname,


middlename, lastname, username, password, confirm_password, admin_image, admin_type,
admin_added)

values ('$firstname', '$middlename', '$lastname',


'$username', '$password', '$confirm_password', '$profile', 'Admin', NOW())")or die(mysqli_error());

echo "<script>alert('Account successfully added!');


window.location='admin.php'</script>";

?>
<!-- content ends here -->

</div>

</div>

</div>

</div>

<?php include ('footer.php'); ?>

Admin.php

<?php include ('header.php'); ?>

<div class="page-title">

<div class="title_left">

<h3>

<small>Home /</small> Admin Profile

</h3>
</div>

</div>

<div class="clearfix"></div>

<div class="row">

<div class="col-md-12 col-sm-12 col-xs-12">

<div class="x_panel">

<div class="x_title">

<h2><i class="fa fa-info"></i> Admin Information</h2>

<ul class="nav navbar-right panel_toolbox">

<?php

$user_query = mysqli_query($con,"select * from admin where admin_id = '$id_session'")or


die(mysqli_error());

$user_row =mysqli_fetch_array($user_query);

$admin_type = $user_row['admin_type'];

?>

<?php if ($admin_type == 'Admin') {

?>

<li>

<a href="add_admin.php"
style="background:none;">

<button class="btn btn-primary"><i


class="fa fa-plus"></i> Add Admin</button>

</a>

</li>

<?php } ?>
<li><a class="collapse-link"><i class="fa fa-chevron-up"></i></a></li>

<!-- If needed

<li class="dropdown">

<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-


expanded="false">

<i class="fa fa-wrench"></i>

</a>

<ul class="dropdown-menu" role="menu">

<li><a href="#">Settings 1</a></li>

<li><a href="#">Settings 2</a></li>

</ul>

</li>

-->

<li><a class="close-link"><i class="fa fa-close"></i></a></li>

</ul>

<div class="clearfix"></div>

</div>

<div class="x_content">

<!-- content starts here -->

<div class="table-responsive">

<table cellpadding="0" cellspacing="0"


border="0" class="table table-striped table-bordered" id="example">
<thead>

<tr>

<th>Image</th>

<th>Full Name</th>

<!--- <th>User Type</th> -->

<th>Action</th>

</tr>

</thead>

<tbody>

<?php

$result= mysqli_query($con,"select * from


admin order by admin_id ASC") or die (mysqli_error());

while ($row= mysqli_fetch_array ($result) ){

$id=$row['admin_id'];

?>

<tr>

<td>

<?php
if($row['admin_image'] != ""): ?>

<img src="upload/<?php
echo $row['admin_image']; ?>" width="100px" height="100px" style="border:4px groove #CCCCCC;
border-radius:5px;">

<?php else: ?>


<img src="images/user.png"
width="100px" height="100px" style="border:4px groove #CCCCCC; border-radius:5px;">

<?php endif; ?>

</td>

<td><?php echo $row['firstname']."


".$row['middlename']." ".$row['lastname']; ?></td>

<!--- <td><?php // echo


$row['admin_type']; ?></td> -->

<td>

<a class="btn btn-primary"


for="ViewAdmin" href="view_admin.php<?php echo '?admin_id='.$id; ?>">

<i class="fa fa-


search"></i>

</a>

<a class="btn btn-warning"


for="ViewAdmin" href="edit_admin.php<?php echo '?admin_id='.$id; ?>">

<i class="fa fa-


edit"></i>

</a>

<!--

<a class="btn btn-danger"


for="DeleteAdmin" href="#delete<?php echo $id;?>" data-toggle="modal" data-target="#delete<?
php echo $id;?>">

<i class="glyphicon
glyphicon-trash icon-white"></i>

</a>-->
<!-- delete modal admin -->

<div class="modal fade"


id="delete<?php echo $id;?>" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-
hidden="true">

<div class="modal-dialog">

<div class="modal-
content">

<div class="modal-
header">

<h4
class="modal-title" id="myModalLabel"><i class="glyphicon glyphicon-user"></i> Admin</h4>

</div>

<div class="modal-
body">

<div
class="alert alert-danger">

Are you sure you want to delete?

</div>

<div
class="modal-footer">

<button class="btn btn-inverse" data-dismiss="modal" aria-hidden="true"><i


class="glyphicon glyphicon-remove icon-white"></i> No</button>

<a
href="delete_admin.php<?php echo '?admin_id='.$id; ?>" style="margin-bottom:5px;" class="btn
btn-primary"><i class="glyphicon glyphicon-ok icon-white"></i> Yes</a>
</div>

</div>

</div>

</div>

</div>

</td>

</tr>

<?php } ?>

</tbody>

</table>

</div>

<!-- content ends here -->

</div>

</div>

</div>

</div>

<style>

.btn-primary {

color: #fff;

background-color: #421919;

border-color: #421919;

}
</style>

<?php include ('footer.php'); ?>

book.php

<?php include ('header.php'); ?>

<div class="page-title">
<div class="title_left">

<h3>

Books

</h3>

<style>

.page-title {

color: black;

h3{

font-weight: bold;

</style>

</div>

</div>

<div class="clearfix"></div>

<div class="row">

<div class="col-md-12 col-sm-12 col-xs-12">

<div class="x_panel">
<a href="print_barcode1.php"
target="_blank" style="background:none;">

<button class="sqaure-button pull-right"><i


class="fa fa-barcode"></i> Print Books Barcode</button>

<a href="book_print.php" target="_blank">

<Button class="sqaure-button"
backgroundColor="maroon"><i class="fa fa-print"></i> Print Booklist</Button>

</a>

<a href="book_print.php" target="_blank"


style="background:none;">

<!-- <button class="btn btn-danger pull-right"><i


class="fa fa-print"></i> Print Books -->

</a>

<br />

<br />

<div class="x_title">

<h2><i class="fa fa-book"></i> Book List</h2>

<ul class="nav navbar-right panel_toolbox">

<li>

<a href="add_book.php"
style="background:none;">

<button class="btn btn-primary"><i


class="fa fa-plus"></i> Add Book</button>

</a>

</li>

<!-- If needed
<li class="dropdown">

<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-


expanded="false">

<i class="fa fa-wrench"></i>

</a>

<ul class="dropdown-menu" role="menu">

<li><a href="#">Settings 1</a></li>

<li><a href="#">Settings 2</a></li>

</ul>

</li>

-->

</ul>

<div class="clearfix"></div>

<ul class="nav nav-pills">

<li role="presentation"
class="active"><a href="book.php">All</a></li>

<li role="presentation" ><a


href="new_books.php">New Books</a></li>

<!--<li role="presentation"><a
href="old_books.php">Old Books</a></li>-->

<button style="padding:8px;"
class="btn btn-primary" role="presentation"><a href="lost_books.php" style="color: white;">Lost
Books</a></button>

<style>

a{
color: black;

</style>

<li role="presentation"><a
href="damage_books.php">Damaged Books</a></li>

<!--<li role="presentation"><a
href="sub_rep.php">Subject for Replacement Books</a></li>

<li role="presentation"><a
href="hard_bound.php">Hardbound Books</a></li> -->

</ul>

<div class="clearfix"></div>

</div>

<div class="x_content">

<!-- content starts here -->

<div class="table-responsive">

<table cellpadding="0" cellspacing="0"


border="0" class="table table-striped table-bordered" id="example">

<thead>

<tr>
<th
style="width:100px;">Book Image</th>

<th>Barcode</th>

<th>BookName</th>

<th>ISBN</th>

<th>Author</th>

<th>Copies</th>

<th>Category</th>

<th>Status</th>

<th>Remarks</th>

<th>Action</th>

</tr>

</thead>

<tbody>

<?php

$result= mysqli_query($con,"select * from


book order by book_id ASC ") or die (mysqli_error());

while ($row= mysqli_fetch_array ($result) ){

$id=$row['book_id'];

$category_id=$row['category_id'];

$cat_query = mysqli_query($con,"select *
from category where category_id = '$category_id'")or die(mysqli_error());

$cat_row = mysqli_fetch_array($cat_query);

?>
<tr>

<td>

<?php if($row['book_image'] !=
""): ?>

<img src="upload/<?php echo


$row['book_image']; ?>" class="img-thumbnail" width="75px" height="50px">

<?php else: ?>

<img class="img-thumbnail"
width="75px" height="50px">

<?php endif; ?>

</td> <td><a target="_blank"


href="view_book_barcode.php?code=<?php echo $row['book_barcode']; ?>"><?php echo
$row['book_barcode']; ?></a></td>

<!-- <td><a target="_blank"


href="print_barcode_individual1.php?code=<?php echo $row['book_barcode']; ?>"><?php echo
$row['book_barcode']; ?></a></td>-->

<td style="word-wrap: break-word;


width: 10em;"><?php echo $row['book_title']; ?></td>

<td style="word-wrap: break-word;


width: 10em;"><?php echo $row['isbn']; ?></td>

<td style="word-wrap: break-word;


width: 10em;"><?php echo $row['author']."<br />".$row['author_2']."<br />".
$row['author_3']."<br />".$row['author_4']."<br />".$row['author_5']; ?></td>

<td><?php echo
$row['book_copies']; ?></td>

<td><?php echo
$cat_row['classname']; ?></td>

<td><?php echo $row['status']; ?


></td>
<td><?php echo $row['remarks']; ?
></td>

<td>

<!-- <a class="btn btn-primary"


for="ViewAdmin" href="view_book.php<?php echo '?book_id='.$id; ?>">

<i class="fa fa-


search"></i>

</a>-->

<a class="btn btn-warning"


for="ViewAdmin" href="edit_book.php<?php echo '?book_id='.$id; ?>">

<i class="fa fa-edit"></i>

</a>

<a class="btn btn-danger"


for="DeleteAdmin" href="#delete<?php echo $id;?>" data-toggle="modal" data-target="#delete<?
php echo $id;?>">

<i class="glyphicon
glyphicon-trash icon-white"></i>

</a>

<!-- delete modal user -->

<div class="modal fade"


id="delete<?php echo $id;?>" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-
hidden="true">

<div class="modal-dialog">

<div class="modal-
content">
<div class="modal-
header">

<h4
class="modal-title" id="myModalLabel"><i class="glyphicon glyphicon-user"></i> User</h4>

</div>

<div class="modal-
body">

<div
class="alert alert-danger">

Are you sure you want to delete?

</div>

<div
class="modal-footer">

<button class="btn btn-inverse" data-dismiss="modal" aria-hidden="true"><i


class="glyphicon glyphicon-remove icon-white"></i> No</button>

<a
href="delete_book.php<?php echo '?book_id='.$id; ?>" style="margin-bottom:5px;" class="btn btn-
primary"><i class="glyphicon glyphicon-ok icon-white"></i> Yes</a>

</div>

</div>

</div>

</div>

</div>

</td>
</tr>

<?php } ?>

</tbody>

</table>

</div>

<!-- content ends here -->

</div>

</div>

</div>

</div>

<Style>

.btn-primary {

color: #fff;

background-color: blue;

border-color: #1A82C3;

.nav-pills>li.active>a, .nav-pills>li.active>a:hover, .nav-pills>li.active>a:focus {

color: #fff;

background-color: blue;

.sqaure-button {

height: 100%;

font-weight: bold;
width: 50%;

background-color: #421919;

color: white;

font-size: 20px;

.sqaure-button:after{

content: "";

display: block;

.btn-primary {

color: #fff;

background-color: #421919;

border-color: #421919;

.nav>li>a {

position: relative;

display: block;

padding: 13px 15px 7px;

background-color: #421919;

color: #fff;
border-color: #421919;

</Style>

<?php include ('footer.php'); ?>

borrow.php

<?php include ('header.php'); ?>

<div class="page-title">

<div class="title_left">

<h3>

<small>Home /</small> Borrow

</h3>

</div>

</div>

<div class="clearfix"></div>
<div class="row">

<div class="col-md-12 col-sm-12 col-xs-12">

<div class="x_panel">

<div class="x_title">

<ul class="nav navbar-right panel_toolbox">

<li><a class="collapse-link"><i class="fa fa-chevron-up"></i></a></li>

<!-- If needed

<li class="dropdown">

<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-


expanded="false">

<i class="fa fa-wrench"></i>

</a>

<ul class="dropdown-menu" role="menu">

<li><a href="#">Settings 1</a></li>

<li><a href="#">Settings 2</a></li>

</ul>

</li>

-->

<li><a class="close-link"><i class="fa fa-close"></i></a></li>

</ul>

<div class="clearfix"></div>

</div>

<div class="x_content">

<!-- content starts here -->


<div class="container-fluid">

<div class="row">

<div class="col-md-4"></div>

<div class="col-md-4">

<form method="post" action="">

<select name="school_number" class="select2_single form-control"


required="required" tabindex="-1" >

<option
value="0">Select School ID Number</option>

<?php

$result=
mysqli_query($con,"select * from user where status = 'Active' ") or die (mysqli_error());

while ($row=
mysqli_fetch_array ($result) ){

$id=$row['user_id'];

?>

<option value="<?php echo $row['school_number']; ?>"><?php echo


$row['school_number']; ?> - <?php echo $row['firstname']; ?></option>

<?php } ?>

</select>

<br />

<br />

<button name="submit" type="submit" class="btn


btn-primary" style="margin-left:110px;"><i class="glyphicon glyphicon-log-in"></i> Submit</button>

</form>
<?php

include ('include/dbcon.php');

if (isset($_POST['submit'])) {

$school_number = $_POST['school_number'];

$sql = mysqli_query($con,"SELECT * FROM user WHERE school_number = '$school_number'


");

$count = mysqli_num_rows($sql);

$row = mysqli_fetch_array($sql);

if($count <= 0){

echo "<div class='alert alert-success'>".'No match found for the School ID


Number'."</div>";

}else{

$school_number = $_POST['school_number'];

echo ('<script> location.href="borrow_book.php?school_number='.


$school_number.'";</script');

?>

</div>

<div class="col-md-4"></div>

</div>
</div>

<!-- content ends here -->

</div>

</div>

</div>

</div>

<div class="clearfix"></div>

<div class="row">

<?php include ('allowed_days.php'); ?>

</div>

<button onclick="window.location.href='settings.php';">

options

</button>

</form>

<style>

a.btn-success, a.btn-primary, a.btn-warning, a.btn-danger {

color: black !important;

</style>

<?php include ('footer.php'); ?>


borrow_book.php

<?php include ('header.php'); ?>

<?php

$school_number = $_GET['school_number'];

$user_query = mysqli_query($con,"SELECT * FROM user WHERE school_number =


'$school_number' ");

$user_row = mysqli_fetch_array($user_query);

?>

<div class="page-title">

<div class="title_left">

<h3>

<small>Home /</small> Borrowed Transaction

</h3>

</div>

</div>

<div class="clearfix"></div>

<div class="row">

<div class="col-md-12 col-sm-12 col-xs-12">

<div class="x_panel">
<div class="x_title">

<?php

$sql = mysqli_query($con,"SELECT * FROM user


WHERE school_number = '$school_number' ");

$row = mysqli_fetch_array($sql);

?>

<h2>

Borrower Name : <span style="color:maroon;"><?php echo


$row['firstname']." ".$row['middlename']." ".$row['lastname']; ?></span>

</h2>

<ul class="nav navbar-right panel_toolbox">

<li><a class="collapse-link"><i class="fa fa-chevron-up"></i></a></li>

<!-- If needed

<li class="dropdown">

<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-


expanded="false">

<i class="fa fa-wrench"></i>

</a>

<ul class="dropdown-menu" role="menu">

<li><a href="#">Settings 1</a></li>

<li><a href="#">Settings 2</a></li>

</ul>

</li>

-->

<li><a class="close-link"><i class="fa fa-close"></i></a></li>


</ul>

<div class="clearfix"></div>

</div>

<div class="x_content">

<!-- content starts here -->

<div class="table-responsive">

<table cellpadding="0" cellspacing="0"


border="0" class="table table-striped table-bordered" id="example">

<thead>

<tr>

<th>Barcode</th>

<th>BookName</th>

<th>Author</th>

<th>Date Borrowed</th>

<th>Due Date</th>

<th>Penalty</th>

<th>Action</th>

<?php

$borrow_query =
mysqli_query($con,"SELECT * FROM borrow_book

LEFT JOIN book ON


borrow_book.book_id = book.book_id
WHERE user_id = '".
$user_row['user_id']."' && borrowed_status = 'borrowed' ORDER BY borrow_book_id DESC") or
die(mysqli_error());

$borrow_count =
mysqli_num_rows($borrow_query);

while($borrow_row =
mysqli_fetch_array($borrow_query)){

$due_date=
$borrow_row['due_date'];

$timezone = "Asia/Manila";

if(function_exists('date_default_timezone_set')) date_default_timezone_set($timezone);

$cur_date = date("Y-m-d H:i:s");

$date_returned = date("Y-m-d
H:i:s");

//$due_date =
strtotime($cur_date);

//$due_date = strtotime("+3 day",


$due_date);

//$due_date = date('F j, Y g:i a',


$due_date);

///$checkout = date('m/d/Y',
strtotime("+1 day", strtotime($due_date)));

$penalty_amount_query=
mysqli_query($con,"select * from penalty order by penalty_id DESC ") or die (mysqli_error());

$penalty_amount =
mysqli_fetch_assoc($penalty_amount_query);
if ($date_returned >
$due_date) {

$penalty =
round((float)(strtotime($date_returned) - strtotime($due_date)) / (60 * 60 *24) *
($penalty_amount['penalty_amount']));

} elseif ($date_returned <


$due_date) {

$penalty = 'No
Penalty';

} else {

$penalty = 'No
Penalty';

?>

</tr>

</thead>

<tbody>

<tr>

<td><?php echo
$borrow_row['book_barcode']; ?></td>

<td style="text-transform:
capitalize"><?php echo $borrow_row['book_title']; ?></td>

<td style="text-transform:
capitalize"><?php echo $borrow_row['author']; ?></td>
<!-- <td><?php echo
$borrow_row['isbn']; ?></td>-->

<td><?php echo date("M d, Y h:m:s


a",strtotime($borrow_row['date_borrowed'])); ?></td>

<?php

if ($borrow_row['status'] !=
'Hardbound') {

echo
"<td>".date('M d, Y h:m:s a',strtotime($borrow_row['due_date']))."</td>";

} else {

echo
"<td>".'Hardbound Book, Inside Only'."</td>";

?>

<!--- <td><?php // echo date("M d, Y


h:m:s a",strtotime($borrow_row['due_date'])); ?></td> -->

<?php

if ($borrow_row['status'] !=
'Hardbound') {

echo "<td>".
$penalty."</td>";

} else {

echo
"<td>".'Hardbound Book, Inside Only'."</td>";

?>

<!--- <td><?php // echo $penalty;


?></td>-->
<td>

<form method="post" action="">

<input type="hidden"
name="date_returned" class="new_text" id="sd" value="<?php echo $date_returned ?>" size="16"
maxlength="10" />

<input type="hidden"
name="user_id" value="<?php echo $borrow_row['user_id']; ?>">

<input type="hidden"
name="borrow_book_id" value="<?php echo $borrow_row['borrow_book_id']; ?>">

<input type="hidden"
name="book_id" value="<?php echo $borrow_row['book_id']; ?>">

<input type="hidden"
name="date_borrowed" value="<?php echo $borrow_row['date_borrowed']; ?>">

<input type="hidden"
name="due_date" value="<?php echo $borrow_row['due_date']; ?>">

<button name="return" class="btn


btn-danger"><i class="glyphicon glyphicon-remove"></i> Return</button>

</form>

</td>

</tr>

<?php

if ($borrow_count <= 0){

echo '

<table style="float:right;">
<tr>

<td
style="padding:10px;" class="alert alert-danger">No books borrowed</td>

</tr>

</table>

';

?>

<?php

if (isset($_POST['return'])) {

$user_id=
$_POST['user_id'];

$borrow_book_id=
$_POST['borrow_book_id'];

$book_id=
$_POST['book_id'];

$date_borrowed=
$_POST['date_borrowed'];

$due_date=
$_POST['due_date'];

$date_returned =
$_POST['date_returned'];

$update_copies =
mysqli_query($con,"SELECT * from book where book_id = '$book_id' ") or die (mysqli_error());

$copies_row=
mysqli_fetch_assoc($update_copies);
$book_copies =
$copies_row['book_copies'];

$new_book_copies =
$book_copies + 1;

if ($new_book_copies ==
'0') {

$remark = 'Not
Available';

} else {

$remark =
'Available';

mysqli_query($con,"UPDATE book SET book_copies = '$new_book_copies' where book_id =


'$book_id'") or die (mysqli_error());

mysqli_query($con,"UPDATE book SET remarks = '$remark' where book_id = '$book_id' ") or


die (mysqli_error());

$timezone = "Asia/Manila";

if(function_exists('date_default_timezone_set')) date_default_timezone_set($timezone);

$cur_date = date("Y-m-d
H:i:s");
$date_returned_now =
date("Y-m-d H:i:s");

//$due_date =
strtotime($cur_date);

//$due_date =
strtotime("+3 day", $due_date);

//$due_date = date('F j, Y g:i


a', $due_date);

///$checkout =
date('m/d/Y', strtotime("+1 day", strtotime($due_date)));

$penalty_amount_query=
mysqli_query($con,"select * from penalty order by penalty_id DESC ") or die (mysqli_error());

$penalty_amount =
mysqli_fetch_assoc($penalty_amount_query);

if ($date_returned >
$due_date) {

$penalty =
round((float)(strtotime($date_returned) - strtotime($due_date)) / (60 * 60 *24) *
($penalty_amount['penalty_amount']));

} elseif ($date_returned <


$due_date) {

$penalty = 'No
Penalty';

} else {

$penalty = 'No
Penalty';

}
mysqli_query($con,"UPDATE borrow_book SET borrowed_status = 'returned', date_returned
= '$date_returned_now', book_penalty = '$penalty' WHERE borrow_book_id= '$borrow_book_id'
and user_id = '$user_id' and book_id = '$book_id' ") or die (mysqli_error());

mysqli_query($con,"INSERT
INTO return_book (user_id, book_id, date_borrowed, due_date, date_returned, book_penalty)

values ('$user_id',
'$book_id', '$date_borrowed', '$due_date', '$date_returned', '$penalty')") or die (mysqli_error());

$report_history1=mysqli_query($con,"select * from admin where admin_id = $id_session ")


or die (mysqli_error());

$report_history_row1=mysqli_fetch_array($report_history1);

$admin_row1=$report_history_row1['firstname']." ".$report_history_row1['middlename']."
".$report_history_row1['lastname'];

mysqli_query($con,"INSERT
INTO report

(book_id, user_id,
admin_name, detail_action, date_transaction)

VALUES
('$book_id','$user_id','$admin_row1','Returned Book',NOW())") or die(mysqli_error());

?>

<script>
window.location="borrow_book.php?school_number=<?php echo $school_number ?>";

</script>

<?php

?>

</tbody>

</table>

</div>

<div class="row" style="margin-top:30px;">

<form method="post">

<div class="col-xs-4">

<input type="text" style="margin-


bottom:10px; margin-left:-9px;" class="form-control" name="barcode" placeholder="Enter barcode
here....." autofocus required />

</div>

</form>

<table class="table table-bordered">

<form method="post" action="">

<th style="width:100px;">Book Image</th>

<th>Barcode</th>
<th>Title</th>

<th>Author</th>

<th>ISBN</th>

<th>Status</th>

<th>Action</th>

<?php

if (isset($_POST['barcode'])){

$barcode =
$_POST['barcode'];

$book_query =
mysqli_query($con,"SELECT * FROM book WHERE book_barcode = '$barcode' ") or die
(mysqli_error());

$book_count =
mysqli_num_rows($book_query);

$book_row =
mysqli_fetch_array($book_query);

if
($book_row['book_barcode'] != $barcode){

echo '

<table>

<tr>

<td class="alert alert-info">No match for the barcode entered!</td>

</tr>
</table>

';

} elseif ($barcode == '') {

echo '

<table>

<tr>

<td class="alert alert-info">Enter the correct details!</td>

</tr>

</table>

';

}else{

?>

<tr>

<input type="hidden" name="user_id"


value="<?php echo $user_row['user_id'] ?>">

<input type="hidden" name="book_id"


value="<?php echo $book_row['book_id'] ?>">

<td>

<?php if($book_row['book_image'] != ""): ?


>

<img src="upload/<?php echo


$book_row['book_image']; ?>" width="100px" height="100px" style="border:4px groove #CCCCCC;
border-radius:5px;">

<?php else: ?>


<img src="images/book_image.jpg"
width="150px" height="180px" style="border:4px groove #CCCCCC; border-radius:5px;">

<?php endif; ?>

</td>

<td><?php echo
$book_row['book_barcode'] ?></td>

<td style="text-transform: capitalize"><?php


echo $book_row['book_title'] ?></td>

<td style="text-transform: capitalize"><?php


echo $book_row['author'] ?></td>

<td><?php echo $book_row['isbn'] ?></td>

<td><?php echo $book_row['status']


?></td>

<td><button name="borrow" class="btn


btn-info"><i class="fa fa-check"></i> Borrow</button></td>

</tr>

<?php } }?>

<?php

$allowable_days_query=
mysqli_query($con,"select * from allowed_days order by allowed_days_id DESC ") or die
(mysqli_error());

$allowable_days_row =
mysqli_fetch_assoc($allowable_days_query);

$timezone = "Asia/Manila";
if(function_exists('date_default_timezone_set')) date_default_timezone_set($timezone);

$cur_date = date("Y-m-d H:i:s");

$date_borrowed = date("Y-m-d H:i:s");

$due_date = strtotime($cur_date);

$due_date = strtotime("+".
$allowable_days_row['no_of_days']." day", $due_date);

$due_date = date('Y-m-d H:i:s', $due_date);

///$checkout = date('m/d/Y', strtotime("+1


day", strtotime($due_date)));

?>

<input type="hidden" name="due_date"


class="new_text" id="sd" value="<?php echo $due_date ?>" size="16" maxlength="10" />

<input type="hidden"
name="date_borrowed" class="new_text" id="sd" value="<?php echo $date_borrowed ?>"
size="16" maxlength="10" />

<?php

if (isset($_POST['borrow'])){

$user_id
=$_POST['user_id'];

$book_id
=$_POST['book_id'];

$date_borrowed
=$_POST['date_borrowed'];

$due_date
=$_POST['due_date'];
$trapBookCount=
mysqli_query($con,"SELECT count(*) as books_allowed from borrow_book where user_id =
'$user_id' and borrowed_status = 'borrowed'") or die (mysqli_error());

$countBorrowed =
mysqli_fetch_assoc($trapBookCount);

$bookCountQuery=
mysqli_query($con,"SELECT count(*) as book_count from borrow_book where user_id = '$user_id'
and borrowed_status = 'borrowed' and book_id = $book_id") or die (mysqli_error());

$bookCount =
mysqli_fetch_assoc($bookCountQuery);

$allowed_book_query=
mysqli_query($con,"select * from allowed_book order by allowed_book_id DESC ") or die
(mysqli_error());

$allowed =
mysqli_fetch_assoc($allowed_book_query);

if
($countBorrowed['books_allowed'] == $allowed['qntty_books']){

echo "<script>alert('
".$allowed['qntty_books']." ".'Books Allowed per User!'." '); window.location='borrow_book.php?
school_number=".$school_number."'</script>";

}elseif
($bookCount['book_count'] == 1){
echo
"<script>alert('Book Already Borrowed!'); window.location='borrow_book.php?school_number=".
$school_number."'</script>";

}else{

$update_copies =
mysqli_query($con,"SELECT * from book where book_id = '$book_id' ") or die (mysqli_error());

$copies_row=
mysqli_fetch_assoc($update_copies);

$book_copies =
$copies_row['book_copies'];

$new_book_copies =
$book_copies - 1;

if ($new_book_copies < 0){

echo
"<script>alert('Book out of Copy!'); window.location='borrow_book.php?school_number=".
$school_number."'</script>";

}elseif
($copies_row['status'] == 'Damaged'){

echo
"<script>alert('Book Cannot Borrow At This Moment!'); window.location='borrow_book.php?
school_number=".$school_number."'</script>";

}elseif
($copies_row['status'] == 'Lost'){

echo
"<script>alert('Book Cannot Borrow At This Moment!'); window.location='borrow_book.php?
school_number=".$school_number."'</script>";
}else{

if ($new_book_copies ==
'0') {

$remark = 'Not
Available';

} else {

$remark =
'Available';

mysqli_query($con,"UPDATE book SET book_copies = '$new_book_copies' where book_id =


'$book_id' ") or die (mysqli_error());

mysqli_query($con,"UPDATE book SET remarks = '$remark' where book_id = '$book_id' ") or


die (mysqli_error());

mysqli_query($con,"INSERT
INTO borrow_book(user_id,book_id,date_borrowed,due_date,borrowed_status)

VALUES('$user_id','$book_id','$date_borrowed','$due_date','borrowed')") or die
(mysqli_error());

$report_history=mysqli_query($con,"select * from admin where admin_id = $id_session ")


or die (mysqli_error());

$report_history_row=mysqli_fetch_array($report_history);
$admin_row=$report_history_row['firstname']." ".$report_history_row['middlename']." ".
$report_history_row['lastname'];

mysqli_query($con,"INSERT
INTO report

(book_id, user_id,
admin_name, detail_action, date_transaction)

VALUES
('$book_id','$user_id','$admin_row','Borrowed Book',NOW())") or die(mysqli_error());

?>

<script>

window.location="borrow_book.php?school_number=<?php echo $school_number ?>";

</script>

<?php

?>

</form>

</table>

</div>

</div>
<!-- content ends here -->

</div>

</div>

</div>

<?php include ('footer.php'); ?>

borrowed.php

<?php include ('header.php'); ?>

<div class="page-title">
<div class="title_left">

<h3>

<small>Home /</small> Borrowed Books

</h3>

</div>

</div>

<div class="clearfix"></div>

<div class="row">

<div class="col-md-12 col-sm-12 col-xs-12">

<div class="x_panel">

<div class="x_title">

<!-- <div class="col-xs-3">

<form method="POST" action="sort_returned_book.php">

<input type="date" class="form-control" name="sort" value="<?php //echo date('Y-


m-d'); ?>">

<button type="submit" class="btn btn-primary btn-outline" style="margin:-34px -


195px 0px 0px; float:right;" name="ok"><i class="fa fa-calendar-o"></i> Sort By Date
Returned</button>

</form>

</div>

-->

<h2><i class="fa fa-book"></i> Borrowed Books Monitoring</h2>

<ul class="nav navbar-right panel_toolbox">

<li>
<a href="print_borrowed_books.php"
target="_blank" style="background:none;">

<button class="btn btn-danger"><i class="fa


fa-print"></i> Print</button>

</a>

</li>

<li><a class="collapse-link"><i class="fa fa-chevron-up"></i></a></li>

<!-- If needed

<li class="dropdown">

<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-


expanded="false">

<i class="fa fa-wrench"></i>

</a>

<ul class="dropdown-menu" role="menu">

<li><a href="#">Settings 1</a></li>

<li><a href="#">Settings 2</a></li>

</ul>

</li>

-->

<li><a class="close-link"><i class="fa fa-close"></i></a></li>

</ul>

<div class="clearfix"></div>

<!--- sort -->

<form method="GET" action="" class="form-inline">

<div class="control-group">

<div class="controls">
<div class="col-md-3">

<input type="date" style="color:black;" value="<?php echo date('Y-m-d'); ?


>" name="datefrom" class="form-control has-feedback-left" placeholder="Date From" aria-
describedby="inputSuccess2Status4" required />

<span class="fa fa-calendar-o form-control-feedback left" aria-


hidden="true"></span>

<span id="inputSuccess2Status4" class="sr-only">(success)</span>

</div>

</div>

</div>

<div class="control-group">

<div class="controls">

<div class="col-md-3">

<input type="date" style="color:black;" value="<?php echo date('Y-m-d'); ?


>" name="dateto" class="form-control has-feedback-left" placeholder="Date To" aria-
describedby="inputSuccess2Status4" required />

<span class="fa fa-calendar-o form-control-feedback left" aria-


hidden="true"></span>

<span id="inputSuccess2Status4" class="sr-only">(success)</span>

</div>

</div>

</div>

<button type="submit"
name="search" class="btn btn-primary btn-outline"><i class="fa fa-calendar-o"></i>
Search</button>
</form>

</div>

<!-- <div class="pull-right">

<div class="span">

<form
method="POST" target="_blank" action="print_returned_book.php">

<button name="print" class="btn btn-danger">

<i class="fa fa-print"></i>

Print

</button>

</form>

</div>

</div>

-->

<div class="x_content">

<!-- content starts here -->

<div class="table-responsive">

<?php

$where ="";

if(isset($_GET['search'])){
$where = " and
(date(borrow_book.date_borrowed) between '".date("Y-m-d",strtotime($_GET['datefrom']))."' and
'".date("Y-m-d",strtotime($_GET['dateto']))."' ) ";

$return_query= mysqli_query($con,"SELECT
* from borrow_book

LEFT JOIN book ON borrow_book.book_id =


book.book_id

LEFT JOIN user ON borrow_book.user_id =


user.user_id

where borrow_book.borrowed_status =
'borrowed' $where order by borrow_book.borrow_book_id DESC") or die (mysqli_error());

$return_count =
mysqli_num_rows($return_query);

// $count_penalty =
mysqli_query($con,"SELECT sum(book_penalty) FROM return_book ")or die(mysqli_error());

// $count_penalty_row =
mysqli_fetch_array($count_penalty);

?>

<table cellpadding="0" cellspacing="0"


border="0" class="table table-striped table-bordered" id="example">

<!-- <div class="pull-left">


<div class="span"><div class="alert alert-info"><i class="icon-credit-card icon-
large"></i>&nbsp;Total Amount of Penalty:&nbsp;<?php echo "Php ".
$count_penalty_row['sum(book_penalty)'].".00"; ?></div></div>

</div> -->

<thead>

<tr>

<th>Barcode</th>

<th>Borrower Name</th>

<th>Title</th>

<!--- <th>Author</th>

<th>ISBN</th> -->

<th>Date Borrowed</th>

<th>Due Date</th>

<!-- <th>Date
Returned</th> -->

<!-- <th>Penalty</th> -->

</tr>

</thead>

<tbody>

<?php

while ($return_row= mysqli_fetch_array


($return_query) ){

$id=$return_row['borrow_book_id'];

?>

<tr>
<td><?php echo
$return_row['book_barcode']; ?></td>

<td style="text-transform:
capitalize"><?php echo $return_row['firstname']." ".$return_row['lastname']; ?></td>

<td style="text-transform:
capitalize"><?php echo $return_row['book_title']; ?></td>

<!--- <td style="text-transform:


capitalize"><?php // echo $return_row['author']; ?></td>

<td><?php // echo
$return_row['isbn']; ?></td> -->

<td><?php echo date("M d, Y h:m:s


a",strtotime($return_row['date_borrowed'])); ?></td>

<?php

if ($return_row['book_penalty'] !=
'No Penalty'){

echo "<td class=''


style='width:100px;'>".date("M d, Y h:m:s a",strtotime($return_row['due_date']))."</td>";

}else {

echo "<td>".date("M d, Y
h:m:s a",strtotime($return_row['due_date']))."</td>";

?>

<?php

// if ($return_row['book_penalty'] !
= 'No Penalty'){

// echo "<td class=''


style='width:100px;'>".date("M d, Y h:m:s a",strtotime($return_row['date_returned']))."</td>";
// }else {

// echo "<td>".date("M d, Y
h:m:s a",strtotime($return_row['date_returned']))."</td>";

// }

?>

<?php

// if ($return_row['book_penalty'] !
= 'No Penalty'){

// echo "<td class='alert


alert-warning' style='width:100px;'>Php ".$return_row['book_penalty'].".00</td>";

// }else {

// echo "<td>".
$return_row['book_penalty']."</td>";

// }

?>

</tr>

<?php

if ($return_count <= 0){

echo '

<table style="float:right;">

<tr>
<td
style="padding:10px;" class="alert alert-danger">No Books returned at this moment</td>

</tr>

</table>

';

?>

</tbody>

</table>

</div>

<!-- content ends here -->

</div>

</div>

</div>

</div>

<style>

.btn-danger {

background: #421919;

border-color: #421919;

.alert-danger, .alert-error {

color: #E9EDEF;

background-color:#421919;
border-color: #421919;

</style>

<?php include ('footer.php'); ?>

home.php

<?php include ('header.php'); ?>

<div class="clearfix"></div>

<!-- <img src="images/dark.png" alt="Image" width="120" height="100"


class="display">

<img src="images/dark.png" alt="Image" width="120" height="100"


class="center">

<style>

.center {

margin-left: auto;

float: right;
}

-->

</style>

<!-- top tiles -->

<!-- top tiles -->

<div class="row tile_count" style="margin-right:-245px;">

<div class="dash1">

<div class="left"></div>

<div class="right">

<?php

$result = mysqli_query($con,"SELECT *
FROM admin");

$num_rows = mysqli_num_rows($result);

?>

<style>

.dash1 {

width: 350px;

height: 150px;

background: white;

margin: 20px 10px;


float: left;

border-radius: 80px;

</style>

<a href="admin.php">

<span class="count_top"><i class=""></i></span>

</a>

<style>

.count_top {

color: black;

}
</style>

<div class="icon-design">

<img src="images/admin123.jpg" alt="">

</div>

<style>

.icon-design img{

width: 100px;

height: 100px;

display: block;

margin-left: auto;

margin-right: auto;

</style>

<div class="countgreen"><?php echo $num_rows; ?></div>

<style>

.countgreen {

text-align: center;

color: black;

font-size: 20px;

}
</style>

<a href="admin.php">

<span class="count_bottom"> Total of


Admin</span>

</a>

<style>

.count_bottom {

text-align:center;

color: black;

display: block;

</style>

</div>

</div>

<div class="dash2">

<div class="left"></div>

<div class="right">

<style>

.dash2 {

width: 350px;
height: 150px;

background: white;

margin: 20px 10px;

float: left;

border-radius:50px;

</style>

<?php

$result = mysqli_query($con,"SELECT *
FROM user");

$num_rows = mysqli_num_rows($result);
?>

<div class="icon-design">

<img src="images/admin1234.png" alt="Image" width="10"


height="10" class="display">

</div>

</style>

<a href="user.php">

<span class="count_top"><i class=""></i> <i class=""></i> </span>

<a href="user.php">

<div class="countgreen"><?php echo $num_rows; ?></div>

<span class="count_bottom">Total of
Members</span>

</a>

</div>

</div>

<style>

.count_bottom {

color: black;

.countgreen {

color: black;
}

</style>

<div class="dash3">

<div class="left"></div>

<div class="right">

<style>

.dash3 {

width: 350px;

height: 150px;

background: white;

margin: 20px 10px;

float: left;

border-radius: 80px;

}
</style>

<?php

$result = mysqli_query($con,"SELECT *
FROM book");

$num_rows = mysqli_num_rows($result);

?>

<div class="icon-design">

<img src="images/admin12345.jpg " alt="Image" width="10"


height="10" class="display">

</div>

<a href="book.php">

<span class="count_top"><i class=""></i> </span>

</a>

<a href="book.php">

<div class="countgreen"><?php echo $num_rows; ?></div>

<span class="count_bottom ">Total of


Books</span>

</a>

</div>

</div>

<div class="dash4">

<div class="left"></div>

<div class="right">

<style>
.countgreen {

color: black;

</style>

<style>

.dash4 {

width: 350px;

height: 150px;

background: white;

margin: 20px 10px;

float: left;

border-radius: 80px;

</style>

<?php

$result = mysqli_query($con,"SELECT *
FROM borrow_book");

$num_rows = mysqli_num_rows($result);

?>
<div class="icon-design">

<img src="images/admin123456.png " alt="Image" width="10"


height="10" class="display">

</div>

<a href="borrowed.php">

<span class="count_top"><i class=""></i> </span>

<a href="borrowed.php">

<div class="countgreen"><?php echo $num_rows; ?></div>

<span class="count_bottom ">Total of Book


Borrowed</span>

</div>

</a>

</div>

<div class="dash5">

<div class="left"></div>

<div class="right">

<style>

.countgreen {

color: black;

}
</style>

<style>

.dash5 {

width: 350px;

height: 150px;

background: white;

margin: 20px 10px;

float: left;

border-radius: 80px;

.right_col {

min-height: 770px;

</style>

<?php

$result = mysqli_query($con,"SELECT *
FROM return_book");

$num_rows = mysqli_num_rows($result);

?>
<div class="icon-design">

<img src="images/admin1234567.png" alt="Image" width="10"


height="10" class="display">

</div>

<a href="returned_book.php">

<span class="count_top"><i class=""></i></span>

</a>

<a href="returned_book.php">

<div class="countgreen"><?php echo $num_rows; ?></div>

<span class="count_bottom ">Total of Book


Returned</span>

</div>

</div>

</a>

</div>

<style>

.countgreen {

color: black;

}
</style>

<!-- /top tiles -->

<?php include('slide.php'); ?>

<?php include ('footer.php'); ?>

login.php

<?php

include('include/dbcon.php');

if (isset($_POST['login'])){

$username=$_POST['username'];

$password=$_POST['password'];

$login_query=mysqli_query($con,"select * from admin where username='$username' and


password='$password'");

$count=mysqli_num_rows($login_query);
$row=mysqli_fetch_array($login_query);

if ($count > 0){

session_start();

$_SESSION['id']=$row['admin_id'];

echo "<script>alert('Successfully Login!'); window.location='home.php'</script>";

}else{

echo "<script>alert('Invalid Username and Password! Try again.');


window.location='index.php'</script>";

?>

<?php }

?>

user.php

<?php include ('header.php'); ?>

<div class="page-title">

<div class="title_left">

<h3>

<small>Home /</small> Members

<style>
H3 {

color: BLACK;

font-weight: bold;

</style>

</h3>

</div>

</div>

<div class="clearfix"></div>

<div class="row">

<div class="col-md-12 col-sm-12 col-xs-12">

<div class="x_panel">

<!--

<a href="member_print.php"
target="_blank" style="background:none;">

<button class="btn btn-danger pull-right"><i


class="fa fa-print"></i> Print Members List</button>

</a>

<a href="print_barcode.php"
target="_blank" style="background:none;">

<button class="btn btn-danger pull-right"><i


class="fa fa-print"></i> Print Members Barcode</button>
</a>

<br />

<br />

-->

<div class="x_title">

<h2><i class="fa fa-users"></i> Members Information</h2>

<ul class="nav navbar-right panel_toolbox">

<li>

<a href="add_user.php"
style="background:none;">

<button class="btn btn-primary btn-


outline"><i class="fa fa-plus"></i> Add Member</button>

</a>

</li>

<li>

<!--

<a href="import_members.php"
style="background:none;">

<button class="btn btn-success btn-


outline"><i class="fa fa-upload"></i> Import Members</button>

</a>

</li>

-->

<!--- <li>

<a href="update_members_status.php"
style="background:none;">
<button class="btn btn-danger btn-
outline"><i class="fa fa-cog fa-spin"></i> Activate All Members</button>

</a>

</li> -->

<li><a class="collapse-link"><i class="fa fa-chevron-up"></i></a></li>

<!-- If needed

<li class="dropdown">

<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-


expanded="false">

<i class="fa fa-wrench"></i>

</a>

<ul class="dropdown-menu" role="menu">

<li><a href="#">Settings 1</a></li>

<li><a href="#">Settings 2</a></li>

</ul>

</li>

-->

<li><a class="close-link"><i class="fa fa-close"></i></a></li>

</ul>

<div class="clearfix"></div>

</div>

<div class="x_content">

<!-- content starts here -->

<div class="table-responsive">
<table cellpadding="0" cellspacing="0"
border="0" class="table table-striped table-bordered" id="example">

<thead>

<tr>

<!--- <th>Image</th> -->

<th>School ID</th>

<th>Member Full
Name</th>

<th>Contact Number</th>

<th>Type</th>

<th>Level</th>

<th>Course</th>

<th>Section</th>

<th>Status</th>

<th>Action</th>

</tr>

</thead>

<tbody>

<?php

$result= mysqli_query($con,"select * from


user order by user_id DESC") or die (mysqli_error());

while ($row= mysqli_fetch_array ($result) ){

$id=$row['user_id'];
?>

<tr>

<!--- <td>

<?php // if( $row['user_image'] !=


""): ?>

<img src="upload/<?php // echo


$row['user_image']; ?>" width="100px" height="100px" style="border:4px groove #CCCCCC; border-
radius:5px;">

<?php // else: ?>

<img src="images/user.png"
width="100px" height="100px" style="border:4px groove #CCCCCC; border-radius:5px;">

<?php // endif; ?>

</td> either this <td><a


target="_blank" href="view_members_barcode.php?code=<?php // echo $row['school_number']; ?
>"><?php // echo $row['school_number']; ?></a></td> -->

<td> <!--<a target="_blank" href=


"print_barcode_individual.php?code=<?php echo $row['school_number']; ?>">--><?php echo
$row['school_number']; ?></a></td>

<td><?php echo $row['firstname']."


".$row['middlename']." ".$row['lastname']; ?></td>

<td><?php echo $row['contact']; ?


></td>

<td><?php echo $row['type'];


?></td>

<td><?php echo $row['level'];


?></td>

<td><?php echo $row['Course']; ?


></td>
<td><?php echo $row['section']; ?
></td>

<td><?php echo $row['status']; ?


></td>

<td>

<a class="btn btn-primary"


for="ViewAdmin" href="view_user.php<?php echo '?user_id='.$id; ?>">

<i class="fa fa-


search"></i>

</a>

<a class="btn btn-warning"


for="ViewAdmin" href="edit_user.php<?php echo '?user_id='.$id; ?>">

<i class="fa fa-edit"></i>

</a>

<a class="btn btn-danger"


for="DeleteAdmin" href="#delete<?php echo $id;?>" data-toggle="modal" data-target="#delete<?
php echo $id;?>">

<i class="glyphicon
glyphicon-trash icon-white"></i>

</a>

<!-- delete modal user -->

<div class="modal fade"


id="delete<?php echo $id;?>" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-
hidden="true">

<div class="modal-dialog">

<div class="modal-
content">
<div class="modal-
header">

<h4
class="modal-title" id="myModalLabel"><i class="glyphicon glyphicon-user"></i> User</h4>

</div>

<div class="modal-
body">

<div
class="alert alert-danger">

Are you sure you want to delete?

</div>

<div
class="modal-footer">

<button class="btn btn-inverse" data-dismiss="modal" aria-hidden="true"><i


class="glyphicon glyphicon-remove icon-white"></i> No</button>

<a
href="delete_user.php<?php echo '?user_id='.$id; ?>" style="margin-bottom:5px;" class="btn btn-
primary"><i class="glyphicon glyphicon-ok icon-white"></i> Yes</a>

</div>

</div>

</div>

</div>

</div>

</td>

</tr>
<?php } ?>

</tbody>

</table>

</div>

<!-- content ends here -->

</div>

</div>

</div>

</div>

<style>

.btn-primary {

color: #fff;

background-color:blue;

border-color: #1A82C3;

</style>

<?php include ('footer.php'); ?>


APPENDIXCES D
Evaluation Tool or Test Documents
APPENDICES E
Sample Input/output/Reports
Appendices F
Screen Layouts
Appendix G
Test Result

System’s Capabilities and Features Mean Descriptive Ratings

A. Functional Suitability

1. Functional Completeness. The system covers all the specified tasks 4.60 Strongly agree
and user objectives.

2. Functional Correctness. The system provides the correct results with 4.80 Strongly agree
the needed degree of precision.

3. Functional Appropriateness. The system facilitates the 5.00 Very strongly agree
accomplishment of specified tasks and objectives.

B. Performance Efficiency
System’s Capabilities and Features Mean Descriptive Ratings

4. Time Behavior. The system’s response and processing times and 5.00 Very strongly agree
throughput rates when performing its functions meet requirements.

5. Resource Utilization. The system’s amounts and types of resources 4.60 Strongly agree
used when performing its functions, meet requirements.

6. Capacity. The system’s maximum limits of parameters meet 4.80 Strongly agree
requirements.

C. Compatibility

7. Co-existence. The system can perform its required functions 4.40 Strongly agree
efficiently while sharing a common environment and resources with
other products, without detrimental impact on any other product.

8. Interoperability. The system can exchange information and use the 4.60 Strongly agree
information that has been exchanged.

D. Usability

9. Appropriateness Recognizability. The system allows users to 4.80 Strongly agree


recognize if it is appropriate for their needs.

10. Learnability. The system can be used by specified users to achieve 4.80 Strongly agree
specified goals of learning to use the application with effectiveness,
efficiency, freedom from risk and satisfaction in a specified context of
use.

11. Operability. The system has attributes that make it easy to operate and 5.00 Very strongly agree
control.

12. User Error Protection. The system protects users against making 5.00 Very strongly agree
errors.

13. User Interaction Aesthetics. The system’s user interface enables 5.00 Very strongly agree
pleasing and satisfying interaction for the user.

14. Accessibility. The system can be used by people with the widest range 4.80 Strongly agree
of characteristics and capabilities to achieve a specified goal in a
specified context of use.

E. Reliability

15. Maturity. The system meets the needs for reliability under normal 4.60 Strongly agree
System’s Capabilities and Features Mean Descriptive Ratings

operation

16. Availability. The system is operational and accessible when required 5.00 Very strongly agree
for use.

17. Fault Tolerance. The system operates as intended despite the 5.00 Very strongly agree
presence of hardware or software faults.

18. Recoverability. The system can recover the data directly affected and 5.00 Very strongly agree
re-establish the desired state.

F. Security

19. Confidentiality. The system ensures that data are accessible only to
those authorized to have access.

20. Integrity. The system prevents unauthorized access to, or modification 5.00 Very strongly agree
of, computer programs or data.

21. Non-repudiation. The system can be proven to have taken place, so 5.00 Very strongly agree
that the events or actions cannot be repudiated later.

G. Portability

22. Adaptability. The system can effectively and efficiently be adapted 4.80 Strongly agree
for different or evolving hardware, software or other operational or
usage environments

23. Installability. The system can be successfully installed and/or 5.00 Very strongly agree
uninstalled in a specified environment
Appendix H
Sample Generated Outputs
APPENDICES I
User Manuals

Administrator Module

Login Module

In this module it illustrates that the admin should provide a combination of username
and password to access the system. If the admin entered invalid username and password the
admin cannot access the system.
Home Tab

In this module it shows the administrator dashboard.

In this module shows where you can view the total of the staff.
In this module show the total of the borrower.

In this module shows the total of the books.


In this module shows the total of the borrowed books.

In this module shows the total of the book returned.


Members Tab

In this module shows the list of member’s information who registered in to the
system. And it has five function. Add Members, Search Bar, View, Delete and Edit. The
function of Add member is for adding a new member which we can view here and the second
function is for search Bar. the function for search bar is to easily locate the name of the
members and third function is for View. The function for view is to view the member’s
information. And the fourth function is the Edit, the function for edit is to edit the member’s
information and the last function is Delete, the function for delete is to delete the member’s
information.
New Members Form

In this module, this form includes all the basic information of members. in this form show us
where the librarian can add new members in the system.
Books Tab

In this module, shows all the list of books and it has nine function the first is the
damaged book shows all the book damaged, the second is the lost books shows if what books
lost, the third is Add book and the function is to add book in the system, the fourth is the
search bar and the function for search bar is to easily locate the information of the books. The
fifth is the Edit and the for is to edit the books information, and the Seventh is the print book
list the function is to know all the list of books and also it can print. The eighth function is the
print books barcode and the function is to know the books barcode and also it can print. And
the last is the delete the function for delete is to delete the books information.

Adding Books Form

In this module, shows us all the books damaged information.


Book Lost Information

In this module, show us all the lost book information.


Add Books Form

In this Module, this form includes all the basic information of Add book. This form show
where the librarian can add Books in the system.
Book Print Reports

In this module, shows the printed reports of all the books registered in the system.
List of Books Barcode

In this module, this form shows all the books barcode.


Admin Tab

In this module, admin tab shows the admin information.


Admin Registration Form

In this module, this form is to create an account for the admin.

Borrow Tab

In this module, the borrow tab show us the field of selecting the name who are borrow
a book and selecting a name who are returning the book by simply search the name or ID
number of the borrower.
In this module, shows the form of selecting a school ID number to borrow a book.
Option Tab

In this module, this form shows us the limitation of borrowing a book and editing the
amount of penalty.

Borrowed Books Tab

In this module, the borrowed books tab shows us all the members who borrowed
book.
Print Books Borrowed

In this module, shows the printed reports of all the members who borrowed books in
the library.
Returned Books Tab

In this module. The returned books tab shows us all the members who returned the
books.
Returned Tab

In this module, shows the printed reports of all members who returned the books.
Transaction Reports Tab

In this module, show all the transaction who borrowed and returned books and the
assigned admin.

You might also like