0% found this document useful (0 votes)
66 views42 pages

Lab Inventory V2

This document describes a project to develop a lab inventory management system. It will be a web-based application that allows colleges to manage their laboratory inventory digitally and collaboratively. The system aims to reduce inefficiencies, waste and errors compared to traditional paper-based methods. It will provide features like centralized control, collaboration, tracking of item transactions and statuses.

Uploaded by

emadeeu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
66 views42 pages

Lab Inventory V2

This document describes a project to develop a lab inventory management system. It will be a web-based application that allows colleges to manage their laboratory inventory digitally and collaboratively. The system aims to reduce inefficiencies, waste and errors compared to traditional paper-based methods. It will provide features like centralized control, collaboration, tracking of item transactions and statuses.

Uploaded by

emadeeu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 42

LAB INVENTORY MANAGEMENT

SYSTEM
A Project Report submitted in
fulfillment of requirements for the degree of

Bachelor of Technology

In

Computer Engineering

By

Silvanas Shanker (20CSEC42)


Abikshit Timsina (20CSEC43)
Pragesh Pradhan (20CSEC46)
Puran Sharma (20CSEC55)

Under the supervision of


Mr. Asish Shakya
Assistant Professor,
Dept of Computer Engineering

SIKKIM INSTITUTE OF SCIENCE & TECHNOLOGY


(Affiliated to Sikkim University)
DECLARATION

I / We, the undersigned, hereby declare that the work recorded in this project report
entitled “LAB INVENTORY MANAGEMENT SYSTEM” in partial fulfillment for
the requirements of award of B.Tech (CE) from Sikkim Institute of Science and
Technology, faithful and bonafide project work carried out under the supervision and
guidance of Mr Asish Shakya (Assistant Professor of Computer Engineering Dept)
The results of this investigation reported in this project have so far not been reported
for any other Degree / Diploma or any other technical forum.
The assistance and help received during the course of the investigation have been duly
acknowledged.

Name of Student …………………….. (Reg ……………….) (Signature with date)


Name of Student …………………….. (Reg ……………….) (Signature with date)
Name of Student …………………….. (Reg ……………….) (Signature with date)
Name of Student …………………….. (Reg ……………….) (Signature with date)

i
CERTIFICATE BY SUPERVISOR

This is to certify that the work recorded in this project report entitled “LAB
INVENTORY MANAGEMENT SYSTEM” has been jointly carried out by Mr.
Silvanas Shanker (20CSEC42), Mr. Abikshit Timsina (20CSEC43), Mr. Pragesh
Pradhan (20CSEC46), Mr. Puran Sharma (20CSEC55) of Computer Engineering
Department of Sikkim Institute of Science & Technology in partial fulfillment of the
requirements for the award of Bachelor of Technology in Computer Engineering. This
report has been duly reviewed by the undersigned and recommended for final
submission for Mini Project Viva Examination.

Mr. Asish Shakya Mr. Prashant Pradhan


Assistant Professor Head of Department
Department of Computer Engineering Department of Computer Engineering
Sikkim Institute of Science &Technology Sikkim Institute of Science &Technology

Miss Pragya Pradhan


Project Coordinator
Department of Computer Engineering
Sikkim Institute of Science &Technology

ii
ACKNOWLEDEGMENT

Firstly, we would like to thank to our college, Sikkim Institute of Science and
Technology and Department of Computer Engineering for providing us such a
wonderful Opportunity to do mini project on the topic “Lab inventory Management
System”.

We would like to express our special thanks of gratitude to our project Guide Mr
Asish Shakya (Assistant professor Department of Computer Engineering). For their
guidance and support to complete our project successfully.

We would also like to extend our gratitude to the project coordinator Miss Pragya
Pradhan. (Assistant Professor, Department of Computer Engineering) and Head of
Department Mr. Prashant Pradhan (Assistant professor Department of Computer
Engineering) for their help, support and guidance.

Lastly we would also like to thanks our parents, friends for their contribution who has
help us in the completion of this project Successfully.

iii
ABSTRACT
Managing laboratory resources efficiently is crucial for college laboratories to ensure
a smooth learning experience and facilitate effective research activities. The College
Laboratory Management System is a specialized software solution tailored to meet the
unique needs of college-level laboratories. Including equipment reservation, student
management, inventory control, user’s roles and room management. This system
provides an intuitive and user-friendly interface that simplifies administrative tasks,
enhances collaboration among students and instructors, and ensures a safe and
organized laboratory environment. We will be using PHP to establish the connection
between backend and frontend, MySQL for database, Html, CSS and java script for
front end.

Keywords: inventory management system, laboratory, college laboratory, web


application, lab management system.

iv
TABLE OF Contents
CHAPTERS PAGE NO.

DECLARATION I
CERTIFICATE BY SUPERVISOR II
ACKNOWLEDGEMENT III
ABSTRACT IV
CONTENTS V - VI
LIST OF FIGURES VI
LIST OF TABLES VI
1. INTRODUCTION 1-8
1.1 GENERAL OVERVIEW 1
1.2 LITERATURE SURVEY 2-6
1.3 PROBLEM DEFINATION 6-7
1.4 OBJECTIVES 7
1.5 SOLUTION STRATEGY 7-8
2. DESIGN & DEVELOPMENT 9-16
2.1 FUNCTIONAL AND NON-FUNCTIONAL 9
REQUIREMENTS
2.2 METHODOLOGY 10
2.2.1 SYSTEM ARCHITECTURE 10-11
2.3 ER DIAGRAM 11-12
2.4 ACTIVITY DIAGRAM 12-15
2.3 USE CASE DIAGRAM 16-17
3. APPLICATION 18
4. PLANNING 19-21
4.1 SOFTWARE DEVELOPMENT LIFE CYCLE 19-20
MODEL
4.2 GANTT CHART 21
5. IMPLEMENTATION 22-28
5.1 PSEUDOCODE 22-28
6. RESULTS AND OUTPUT 29-33
7. CONCLUSION 34
7.1 REFERENCE 35
v
Table No. Title Page No.
1 LITERATURE REVIEW 2-6
LIST OF TABLES

LIST OF FIGURES
Figure No. Title Page No.
1 SYSTEM ARCHITECTURE 10
2 ER DIAGRAM 12
3 LOGIN PAGE ACTIVITY DIAGRM 13
4 STUDENT AND LAB INVENTORY 14
5 STAFF AND LAB INVENTORY 15
6 USE CASE DIAGRAM 16
7 ITERATIVE WATERFALL MODEL 19
8 GANTT CHART 21
9 ADMIN AND STAFF LOGIN PAGE 29
10 STUDENT LOGIN PAGE 29
11 ADMIN DASHBOARD 30
12 PENDING REQUEST 30
13 ITEM LIST 31
14 ADD ITEM 31
15 CHANGE ITEM STATUS 32
16 STAFF DASHBOARD 32
17 STUDENT DASHBOARD 33

vi
Department of Computer Engineering 2023-24

CHAPTER 1
INTRODUCTION

1.1 General Overview


Lab inventory management system is an essential but often overlooked aspect of
running a college laboratory. It involves keeping track of the quantity, location, and
status of various lab materials, such as hardware, electronics equipment, chemicals,
etc. By managing lab inventory effectively, labs can reduce wastage, save money,
optimize space, and improve lab performance and productivity. However, many labs
still use outdated methods, such as paper records or spreadsheets, to manage their
inventory. These methods are prone to errors, inconsistencies, and inefficiencies,
resulting in loss of valuable resources and time. Inventory management software is a
modern and innovative solution to this problem. It is a software application that allows
labs to manage their inventory in a digital and centralized way. It has many benefits,
such as:
 Centralized Control: With web-based inventory management software, all
the inventory data is stored in a single database, which can be accessed from
any device with an internet connection. This enables labs to easily monitor and
control their inventory, such as checking the availability of items, setting stock
levels, creating stock alerts, ordering new items, etc.
 Collaboration: Web-based inventory management software also facilitates
collaboration among lab members. They can share inventory information with
each other, such as viewing the current status of items, reserving items,
requesting items, etc. This ensures that everyone is on the same page and
avoids conflicts or confusion.
Lab Inventory System is a comprehensive and customized solution designed
specifically for college laboratories. It is a web-based inventory management software
that offers all the features and benefits mentioned above, Inventory System helps labs
to manage their inventory efficiently, by providing various functions, such as adding,
deleting, editing, transferring, and disposing of items. It also records and tracks the
transactions of borrowed and returned items, along with the dates and names of the
borrowers.

1
Department of Computer Engineering 2023-24

1.1 Literature Review


Table 1 Literature Survey

1 Name of the paper


E-Inventory management system using android mobile
application at Faculty of Engineering Technology
laboratory stores [2]

Journal name Centre for Advanced Research on Energy

Author Rohana Abdullah1,, Kek Zi Xiang1 , Muhammad Ilman


Hakimi Chua Abdullah1.3

Published year May 2018

Findings The study successfully developed the E-Inventory


mobile app, reducing inventory access time by 80%
and improving accuracy. User satisfaction was high,
and future enhancements were suggested, including
iOS compatibility and additional features.

Research Gap lack of detailed exploration into the challenges and


requirements of inventory management in academic
laboratories or the absence of a comparative analysis
with existing inventory management solutions.

2
Department of Computer Engineering 2023-24

2.
Name of the paper Implementation of Inventory Management System [3]

Journal name International Conference on Innovative Computing and


Communication

Keshav Srivastavaa, Dilip Kumar Choubeyb , Jitendra


Author
Kumar

Published year 2020

Findings The paper identifies challenges in data management


for industries, proposes a MongoDB-based system
with Java on NetBeans for user-friendly inventory
control, and suggests potential enhancements like
machine learning for demand prediction.

Research Gap The research gap in this paper lies in the need for
further exploration and evaluation of the proposed
MongoDB-based inventory management system's
scalability, real-world implementation, and
comparative performance with other database solutions
in addressing complex industrial data management
challenges.

3
Department of Computer Engineering 2023-24

3. Name of the Web-Based Science Lab Inventory System for Faculty of


paper Pharmacy in UiTM Bertam. [1]

Journal name International Jasin Multimedia & Computer Science


Invention and Innovation Exhibition

Author Nurul Farzana Binti Zulkiflee1, Nurisma Binti Ismail2, Siti


Fatimah Binti Mohd Rum
Published 2021
Year

Findings The research project successfully addressed inventory


management challenges at UiTM Bertam's Faculty of
Pharmacy by developing a webbased Science Lab
Inventory System. This system resolved data inaccuracy
issues, streamlined approval processes, and introduced
automatic notifications for expired and low quantity
inventory items. As a result, it is expected to significantly
enhance efficiency and accuracy in laboratory inventory
management.
Research Gap Future research should investigate the system's adaptability
to various laboratory environments and assess long-term
impacts on inventory management practices.

4. Name of the Laboratory Inventory Management System. [4]


paper

Journal name Sathyabama Institute of Science and Technology

Author Veerapuneni Sai Venkata Siva Nanda

Published
April 2021
Year
Findings The paper proposes a web-based application for
managing the inventory of laboratory equipment and
consumables. The application allows the users to view,
add, update, and delete the inventory items, as well as
generate reports and alerts. The paper also presents the
system architecture, design, and implementation details
of the application.
Research The paper does not provide any empirical evaluation or
Gap comparison of the proposed system with other existing
4
systems. The paper also does not address the security
and privacy issues of the web-based application
Department of Computer Engineering 2023-24

5 Name of the Optimization of Inventory management. [5]


paper

Journal name Lecture Notes in Networks and Systems

5
Department of Computer Engineering 2023-24

Author Ibrahim Boukallal and Fatima El Khoukhi

Published Date 2021

Findings The paper reviews the existing literature on the optimization


of inventory management problem, focusing on the different
parameters of the mathematical models, such as objectives,
demand, products, constraints, and solution techniques. The
paper also provides a classification and analysis of the models
according to these parameters and highlights the main
challenges and future directions of the research.

Research Gap
The paper does not cover all the aspects and factors of the
inventory management problem, such as uncertainty,
perishability, shortage, etc. The paper also does not provide
any case studies or applications of the models to specific
domains or contexts.

1.3 Problem Definition

1. Limited College Equipment Management: There is a lack of a system that


allows teacher to easily add and manage laboratory equipment.

2. Inadequate Resource Management: Administrators currently face


difficulties in effectively managing equipment, materials, and space
within the laboratory.

3. Error-Prone Tracking System: The absence of a streamlined system


results in errors and delays in tracking laboratory equipment.

4. Reporting Format Limitations: Current systems lack the capability to


easily export reports in user-friendly formats such as PDF or Excel,
affecting data accessibility and sharing.

5. Inefficient Resource allocation and utilization: Educational institutions


struggle with the effective allocation and utilization of laboratory
resources, resulting in shortages, conflicts, and underutilization.

6. Data management: manual processes of managing equipment’s in


laboratories are error prone, time-consuming, and lack standardization,
leading to data inaccuracies and retrieval delays.

6
Department of Computer Engineering 2023-24

7. Laboratory scheduling: Poorly managed laboratory item schedules result


in conflicts and limited access for students and instructors, hindering
experiments and research.

1.4 Objectives

• Administrators should be able to add and update laboratory equipment


through a web application.
• Administrators should be able to manage equipment, materials, and
space.

• To create an easy system to keep track of lab equipment’s without errors


and delays.
• To establish clear safety rules, reporting methods, and maintenance
practices to keep labs safe.
• To design a system that provides individual and user-friendly interface to all
users.
• To easily allocate the resources. And increases the utilization of equipment’s
effectively and wisely.
• To be able to easily export the report in pdf or excel format.

1.5 Solution Strategy


To solve all the problems faced by laboratory staff to handle and manage the
laboratory task we have come up with a solution that is specially tailored to
be used for college lab stock management. while transforming the offline
process of managing the stock in laboratory of colleges into the online mode
which is semi-automated to manage the data –

1. Data Architecture:
 Establish a centralized database system to store and manage all
inventory data.
 Define data schemas and structures for different types of lab items,
such as chemicals, equipment, or samples.
 Implement a robust data architecture that allows for scalability and
efficient data retrieval.

2. User Access Control:

7
Department of Computer Engineering 2023-24

 Develop user authentication mechanisms to ensure only authorized


personnel can access the system.
 Implement role-based access control to assign specific permissions to
users based on their responsibilities within the lab.

 History log to track.


3. Item Identification:
 Create a comprehensive item catalogue with detailed information
about each item, including name, category, quantity.

 Reporting of lost and damaged item.

CHAPTER 2
DESIGN AND DEVELOPMENT

2.1 Functional and Non-Function Requirements

8
Department of Computer Engineering 2023-24

Functional requirements are the features and behaviours that the system must provide
or support. Non-functional requirements are the qualities and constraints that the
system must adhere to or satisfy.
 Functional Requirements:
o User Registration: Users will get registered by admin.
o User Login: Admin, Staff, students must log in to access dashboard.
o User Authorization: user are authorized after successful login.
o Dashboard Access: Authorized admins, Staff and Students have
access to different dashboards with specific functionalities.
o Inventory Management by Admin:
 Add items to the inventory.
 Delete/manage items in the inventory.
 View/manage request and transactions.
o Inventory Management by Staff:
 View/manage request and transactions.
o Item Request by Students/Borrowers:
 Reserve items from the inventory.
 Non-Functional Requirements:
o Security - Unauthorized users should not have access to dashboards
and avoid loss of data.
o Usability- The interface should be user-friendly, ensuring easy
navigation for admins and borrowers.
o Performance- The system should handle multiple simultaneous logins
and operations efficiently.
o Reliability & Availability- The system should be reliable, with
minimal downtime.

2.2 Methodology
2.2.1 System Architecture
System architecture is the process of designing the high-level structure and
organization of a system, such as a software system, a hardware system, or a
network system. System architecture defines the components of the system,
their functions, their interactions, and their properties. System architecture is
important for the success of a system, as it provides a clear and consistent
vision of how the system works and what it can achieve.

9
Department of Computer Engineering 2023-24

Fig 1: System Architecture

In the fig 1, A diagram representing the system architecture of a lab inventory


management system. Users, either admin or student/borrower, log in to the system.
Admins have access to a dashboard where they can add, delete/manage, view/manage
items and reservations. They can also view users and borrowers’ information and
transactions. Students can request items and view request status.
Some additional information about the system architecture are:
 The system has three types of users: admins, Staff, and students/borrowers.
Admins are users who manage the lab inventory, staff are users who manages
the transactions like assigning the items to the students, while students are
users who need to borrow items from the lab.
 The system requires users to log in with their credentials before accessing their
respective dashboards. If a user is not registered, they need to register first.
 The admin dashboard allows users to perform various functions such as:

10
Department of Computer Engineering 2023-24

o Add items: Admins can add new items to the inventory and specify
their details and availability.
o Delete/manage items: Admins can delete or modify existing items in
the inventory.
o View/manage request: Admins can see the requests made by
students/borrowers and approve or reject them.
o View users’ information: Admins can see the details of all registered
users, such as their names, roles, and contact information.
o View borrowers’ information and transactions: Admins can see the
details of all borrowers, such as their names, items borrowed, return
dates, and transaction history.
 The staff dashboard allows users to perform various functions such as:
o View/manage request: users can see the request made by
students/borrowers and approve or reject them.
 The student dashboard allows users to perform two main functions:
o Request items: Students/borrowers can request item from the
inventory and specify the duration and quantity.
o View request status: Students can check the status of their request,
such as pending, approved, or rejected.

2.3 Entity Relationship Diagram


An ER diagram is a type of diagram that shows the entities and relationships in a
database system. Entities are the objects or concepts that are stored in the database,
such as customers, products, orders, etc. Relationships are the associations or links
between the entities, such as customer buys product, product belongs to order, etc. An
ER diagram can help to:
 Define the data requirements and structure of the database.
 Visualize the data and the connections between the data.
 Communicate and validate the database design with the stakeholders.
 Guide the implementation and maintenance of the database.

11
Department of Computer Engineering 2023-24

Fig 2: ER Diagram

2.4 Activity Diagram


An activity diagram is a type of flowchart that shows the flow of actions or processes
within a system. It is used to describe the dynamic aspects of a system, such as the
conditions, decisions, and parallel activities that occur during the execution of a
system. An activity diagram can also show the inputs and outputs of each activity, the
roles and responsibilities of the actors involved, and the events that trigger or
terminate the activities.

2.4.1 Login Page Activity Diagram

12
Department of Computer Engineering 2023-24

Fig 3: Login Page Activity Diagram.

From the fig 3, If a user want to login as the student, the student ID is encoded;
if not valid, a message displays that the student is not registered.
For non-student logins, user ID and password are encoded; if not valid, an
“invalid username or password” message is displayed. If valid, users are
directed to their respective dashboards (student, admin, staff) where they can
access functionalities according to their privileges.

2.4.2 Student and Lab Inventory Activity Diagram

13
Department of Computer Engineering 2023-24

Fig 4: Student and Lab Inventory.

In the fig 4, diagram outlines the process a student follows to make a request in
a lab inventory system. The student starts by entering their ID on the login
page. If the ID is invalid, a message is displayed; if valid, they proceed to the
dashboard and then to the request page where they can make a request. The
response is saved, and the request status displayed.

2.4.3 Staff and Lab Inventory Activity Diagram

14
Department of Computer Engineering 2023-24

Fig 5: Staff and Lab Inventory.

In the fig 5, The activity diagram shows the process of a staff member accessing a
lab inventory system.
 The staff member starts by encoding their user ID and password. If the details
are invalid, a message is displayed prompting them to try again. If valid, they
proceed to the dashboard where they can create transactions, request items,
view borrowed items, and see returned items.
 Creating a transaction involves assigning items and generating an invoice PDF
as part of the transaction.

2.5 Use Case Diagram


A use case diagram is a type of diagram that shows the interactions between actors
and use cases in a system. Actors are the external entities that use the system, such as

15
Department of Computer Engineering 2023-24

users, other systems, or devices. Use cases are the scenarios or functions that the
system can perform, such as login, search, or checkout. A use case diagram can help
to:
 Identify the requirements and goals of the system from the perspective of the
actors.
 Describe the dynamic behaviour and functionality of the system.
 Communicate and validate the system design with the stakeholders.
 Guide the development and testing of the system.

Fig 6: Use Case Diagram.


In the fig 6,

 Use cases for “staff” include:


o View request: Staff can see the requests made by students for items.
o Assign items: Staff can assign items to students based on their
requests.
o Create new transaction: Staff can create a new transaction record for
each item assignment.
o View borrowed items: Staff can see the items that are currently
borrowed by students.

16
Department of Computer Engineering 2023-24

o View returned items: Staff can see the items that have been returned
by students.
 Use cases for “student” include:
o Create request: Student can create a request for an item they need.
o View request status: Student can check the status of their request,
such as pending, approved, or rejected.
 Use cases for “admin” include all those available to staff plus:
o Add & manage users: Admin can add new users to the system and
manage their roles and permissions.
o Add & manage items: Admin can add new items to the inventory and
manage their details and availability.
o Add and manage lab room: Admin can add new lab rooms to the
system and manage their capacity and equipment.
o View transaction history and report: Admin can view the history of
all transactions and generate reports on the usage and performance of
the system.

CHAPTER 3
APPLICATION
The LIMS will help us to manage and track the inventory of laboratory items, such
as equipment, chemicals, samples, etc. and it improve the efficiency, accuracy,
and safety of laboratory operations. The Laboratory Inventory Management
System (LIMS) facilitates efficient management in the following key areas:

1. User Management:
- Tracks user IDs, names, and passwords for students and staff.
- Assigns roles and permissions (admin, staff, student).

17
Department of Computer Engineering 2023-24

2. Inventory Tracking:
- Tracks item stock, status changes, and maintains a detailed history log.
- Generates reports on inventory status and usage.

3. Transaction Handling:
- Manages transactions for borrowed items.
- Records borrower's name, borrowed date/time, and return date.
- Tracks request statuses and generates invoices/receipts.

4. Request Management:
- Allows students to request items using their student ID.
- Records request time/date and assigns rooms accordingly.
- Notifies users of request status (pending, approved, rejected).

CHAPTER 4
PLANNING

4.1 SOFTWARE DEVELOPMENT LIFCYCLE MODEL

To design the proposed system, we will be using iterative waterfall model. The
iterative waterfall approach is a hybrid model that combines elements of the
traditional Waterfall model with the flexibility of iterative development. In this
model, the project is divided into multiple phases, and each phase follows the
Waterfall approach. However, after each phase, there is a review and feedback

18
Department of Computer Engineering 2023-24

loop that allows for changes and improvements before proceeding to the next
phase.

Fig 7: Iterative Waterfall Model.

Here's how we applied to the topics you mentioned:

1. Project Initiation: The project initiation phase begins with a clear


understanding of the project's objectives, scope, and feasibility. It involves
defining the project's purpose, goals, and stakeholders' needs.

2. Requirements Gathering: During this phase, detailed requirements are


gathered from stakeholders. This involves conducting interviews, surveys,
and workshops to capture user requirements, functional and non-functional
requirements.

3. System Design: In the system design phase, the overall system architecture is
designed. It includes the high-level design of the entire system, defining the
components, data flow, and interaction between various modules. It does not
involve detailed design at this point.
4. Frontend Development/UI Design: After the system design, the frontend
development/UI design phase begins. In an iterative Waterfall approach, the
UI design can start early and proceed incrementally, with design
improvements being made based on user feedback.

5. Backend Development: In parallel with the frontend, the backend


development phase starts. The backend is responsible for the core logic and

19
Department of Computer Engineering 2023-24

functionality of the application. Like the frontend, it can proceed


incrementally.

6. Database Setup: The database setup phase involves defining the database
schema and creating the necessary tables and relationships. It can occur
concurrently with frontend and backend development.

7. User Authentication: The user authentication module is developed to handle


user registration, login, and authorization. This module can be developed
iteratively based on user feedback and security requirements.

8. Inventory Management Features: The development of inventory management


features can begin incrementally, adding and improving features based on the
project's requirements and user feedback.

9. Testing: Throughout the development process, testing occurs at each phase.


Unit testing, integration testing, and system testing are performed. Any
defects or issues found are addressed, and the system is retested before
proceeding to the next phase.

10. Documentation: Documentation is an ongoing process that starts in the


project initiation phase and continues throughout the project. It includes
creating user manuals, system documentation, and other relevant documents
as each phase progresses.

In this iterative Waterfall approach, at the end of each phase, there is a review
and feedback session with stakeholders and the project team. This feedback loop
allows for adjustments, changes, and improvements based on the evolving
understanding of the project's requirements and user needs. The process repeats
iteratively until the project is complete, ensuring that the final product aligns
with client’s expectations and remains adaptable to changes throughout its
development.

4.2 Gantt Chart


ACTIVITY AUG SEP OCT NOV DEC JAN

Project Initiation

Requirement
Gathering
System Design

20
Department of Computer Engineering 2023-24

Frontend Dev/UI
design
Database Setup

User Authentication

Inventory features

Testing

Documentation

Fig 8: Gantt Chart.

CHAPTER 5
IMPLEMENTATION

5.1 PSEUDOCODE

5.1.1 Database Config code

21
Department of Computer Engineering 2023-24

Declare variables for the server name, username, and password SET
servername TO “localhost” SET username TO “root” SET password TO “…”

TRY // Create a new connection object with the server name, database name,
username, and password SET conn TO NEW PDO(“mysql:host=” +
servername + “;dbname=lms19”, username, password)

Set the error mode attribute of the connection object to exception CALL conn-
>setAttribute

(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION)

Print “Connected successfully” to the screen PRINT “Connected successfully”

Catch any exception that might occur CATCH PDOException AS

Print "Connection failed: " followed by the exception message to the screen
PRINT "Connection failed: " + e->getMessage()

5.1.2 Add Student pseudocode.

function sign_student(sid_number, s_fname, s_lname, s_gender, s_contact,


s_department, s_major, s_year, s_section, s_password, type):

conn = get_global_connection_object()
# Check if a member with the given school ID, first name, last name, and type
already exists

sql = conn.prepare('SELECT * FROM member WHERE m_college_id = ?


AND m_fname = ? AND m_lname = ? AND m_type = ?')

sql.execute(array(sid_number, s_fname, s_lname, type))

sql_count = sql.rowCount()

if sql_count <= 0:
# If no existing member is found, insert the new member into the database

insert = conn.prepare('INSERT INTO member(m_college_id, m_fname,


m_lname, m_gender, m_contact, m_department, m_year_section, m_type,
m_password) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)')
insert.execute(array(sid_number, s_fname, s_lname, s_gender, s_contact,
s_department, s_year.' - '.s_section, type, s_password))
insert_count = insert.rowCount()

if insert_count > 0:

# Successful insertion
print("1")

22
Department of Computer Engineering 2023-24

else:
# Insertion failed
print("0")

else:
# Member already exists
print("2")

5.1.3 Add faculty admin pseudocode.

function sign_faculty(f_id, f_fname, f_lname, f_gender, f_contact,


f_department, f_password, type):

conn = get_global_connection_object()

# Check if a member with the given faculty ID, first name, last name, and type
already exists

sql = conn.prepare('SELECT * FROM member WHERE m_school_id = ?


AND m_fname = ? AND m_lname = ? AND m_type = ?')
sql.execute(array(f_id, f_fname, f_lname, type))
sql_count = sql.rowCount()

if sql_count <= 0:

# If no existing member is found, insert the new faculty member into the
database

insert = conn.prepare('INSERT INTO member(m_school_id, m_fname,


m_lname, m_gender, m_contact, m_department, m_type, m_password)
VALUES(?, ?, ?, ?, ?, ?, ?, ?)')

insert.execute(array(f_id, f_fname, f_lname, f_gender, f_contact,


f_department, type, f_password))

insert_count = insert.rowCount()

if insert_count > 0:
# Successful insertion
print("1")

else:
# Insertion failed
print("0")

else:
# Faculty member already exists
print("2").

23
Department of Computer Engineering 2023-24

5.1.4 Add equpments pseudocode.

function add_equipment():
conn = get_global_connection_object()

# Get equipment details from the POST data: model, eq number, category,
brand, description, stock, type, Status.

# Start session and gather admin information


session_start()

hides’ = 'add new equipment ' + e_model + ' , ' + e_category

h_tbl = 'equipment'

sessionid = $_SESSION['admin_id']

sessiontype = $_SESSION['admin_type']

# Insert equipment details into the item table


# Upload and update equipment photo
imageName = $_FILES['e_photo']['name']

extension = pathinfo(imageName, PATHINFO_EXTENSION)


tmpData = $_FILES['e_photo']['tmp_name']
fileName = time()
fileStatus = move_uploaded_file(tmpData, '../../uploads/' + fileName + '.' +
extension)
file = "”

if fileStatus:
file = fileName + '.' + extension
sql = conn.prepare('UPDATE item SET i_photo = ? WHERE id = ?')
sql.execute(array(file, itemID))

# Insert equipment stock details into the item_stock table


if row > 0:
item = conn.prepare('INSERT INTO item_stock (item_id, room_id,
items_stock, item_status) VALUES(?,?,?,?)')
item.execute(array(itemID, e_assigned, e_stock, e_status))
countitem = item.rowCount()
if countitem > 0:
# Insert history log
history = conn.prepare('INSERT INTO history_logs(description, table_name,
user_id, user_type) VALUES(?,?,?,?)')

history.execute(array(h_desc, h_tbl, sessionid, sessiontype))

historycount = history.rowCount()

24
Department of Computer Engineering 2023-24

print(historycount)

else:
print('0')

5.1.5 Add students pseudocode.


function add_member($as, $handle):
conn = get_global_connection_object()

# Start a session and gather admin information


session_start()
h_desc = 'add csv file clients'
h_tbl = 'client'
sessionid = $_SESSION['admin_id']
sessiontype = $_SESSION['admin_type']

try:
# Prepare the SQL statement for inserting members
sql = conn.prepare('INSERT INTO member(m_school_id, m_fname,
m_lname, m_gender, m_contact, m_department, m_year_section, m_type)
VALUES(?,?,?,?,?,?,?,?)')

# Skip the header line in the CSV file


fgets(handle)

# Loop through each line in the CSV file and insert member data
while (($data = fgetcsv(handle, 1000, ',')) !== FALSE):
sql.execute(data)

# Insert a history log after successful member insertion


insert = conn.prepare('INSERT INTO history_logs(description, table_name,
user_id, user_type) VALUES(?,?,?,?)')

insert.execute(array(h_desc, h_tbl, sessionid, sessiontype))


except(PDOException e):

# Handle any exceptions, such as database errors


print(0)

# Indicate successful execution


print(1).

5.1.6 Add users’ pseudocode.


function add_users(u_fname, u_username, u_password, u_type):
conn = get_global_connection_object()

# Start a session and gather admin information

25
Department of Computer Engineering 2023-24

session_start()
h_desc = 'add user' + u_fname
h_tbl = 'user'
sessionid = $_SESSION['admin_id']
sessiontype = $_SESSION['admin_type']

# Check if the user with the provided name or username already exists
sql = conn.prepare('SELECT * FROM user WHERE name = ? OR username =
?')

sql.execute(array(u_fname, u_username))
count = sql.rowCount()

If count <= 0:
# Insert user details into the user table and create a history log
que = conn.prepare('INSERT INTO user (name, username, password, type)
VALUES(?,?,?,?);

INSERT INTO history_logs (description, table_name, user_id, user_type)


VALUES(?,?,?,?)')

que.execute(array(u_fname, u_username, u_password, u_type, h_desc, h_tbl,


sessionid, sessiontype))

row = que.rowCount()

if row > 0:
print("1") # Successful insertion

else:
print("0") # Insertion failed

else:
print("2") # User already exists
5.1.7 make request pseudocode.
function addclient_reservation(items, date, time, client_id, assign_room,
timeLimit):

conn = get_global_connection_object()
# Generate a reservation code based on the current date, time, and client_id
code = concatenate(date('mdYhis'), '', client_id)

# Check if client_id is zero, and handle accordingly

if client_id == 0:
print('3')

else:
# Loop through each item in the items array

foreach (items as key => items):

26
Department of Computer Engineering 2023-24

# Split each item into item_id and stock_id using "||"


itemsArr = split_string("||", items)

# Insert reservation details into the reservation table


sql1 = conn.prepare('INSERT INTO reservation(reservation_code,
member_id, item_id, stock_id, reserve_date, reservation_time, assign_room,
time_limit) VALUES(?,?,?,?,?,?,?,?)')

sql1.execute(array(code, client_id, itemsArr[0], itemsArr[1], date, time,


assign_room, timeLimit))

count = sql1.rowCount()

# Output the result based on the count of successful insertions


print(count > 0 ? '1' : '0')

5.1.8 Add Room pseudocode.


function add_room(name):
conn = get_global_connection_object()

# Start a session and gather admin information


session_start()
h_desc = 'add new room ' + name
h_tbl = 'room'
sessionid = $_SESSION['admin_id']
sessiontype = $_SESSION['admin_type']

# Check if a room with the provided name already exists


select = conn.prepare("SELECT * FROM room WHERE rm_name = ?")
select.execute(array(name))
row = select.rowCount()

if row <= 0:
# Insert room details into the room table and create a history log

sql = conn.prepare("INSERT INTO room(rm_name, rm_status)


VALUES(?, ?);
INSERT INTO history_logs(description, table_name, user_id, user_type)
VALUES(?,?,?,?)")

sql.execute(array(name, 1, 'room ' + name, h_tbl, sessionid, sessiontype))


count = sql.rowCount()

if count > 0:
print("1") # Successful insertion

else:
print("0") # Insertion failed

27
Department of Computer Engineering 2023-24

else:
print("2") # Room already exists

CHAPTER 6
RESULTS AND OUTPUT

28
Department of Computer Engineering 2023-24

Fig 9: Admin and Staff Login Page

Fig 10: Student login page

29
Department of Computer Engineering 2023-24

Fig 11: Admin Dashboard

Fig 12: Pending Request

30
Department of Computer Engineering 2023-24

Fig 13: Item List

Fig 14: Add Item

31
Department of Computer Engineering 2023-24

Fig 15: Change Item Status

Fig 16: Staff Dashboard

32
Department of Computer Engineering 2023-24

Fig 17: Student Dashboard

33
Department of Computer Engineering 2023-24

CHAPTER 7
CONCLUSION
In conclusion, a well-implemented Lab Inventory Management System is a
cornerstone of efficient and effective laboratory operations. This system
serves to ensure accurate, organized, and traceable management of laboratory
resources. By centralizing data, controlling access, and providing real-time
insights, it empowers laboratories to make informed decisions, prevent
resource shortages, enhance data accuracy, and ensure compliance with
regulatory standards.

Moreover, the system's adaptability and scalability are instrumental for


accommodating evolving needs and seamless integration with other
laboratory management systems. By documenting and adhering to data
governance practices, labs can ensure the integrity and reliability of their
inventory data over time.

In a rapidly advancing landscape, a college Lab Inventory Management


System is not just a valuable addition; it is often a necessity for college
laboratories looking to stay competitive, compliant, and on the cutting edge
of research and development. It transforms the way college laboratory's
function, bringing precision, transparency, and control to the heart of
scientific endeavors.

34
Department of Computer Engineering 2023-24

REFERENCES

[1] Nurul Farzana Binti Zulkiflee, Nurisma Binti Ismail, Siti Fatimah Binti Mohd
Rum, “Web-Based Science Lab Inventory System for Faculty of Pharmacy in
UiTM Bertam”. International Jasin Multimedia & Computer Science
Invention and Innovation Exhibition. 2020.
[2] Rohana Abdullah, Kek Zi Xiang, Muhammad Illman Hakimi Chua Abdullah.
“E-Inventory management system using android mobile application at Faculty
of Engineering Technology laboratory stores”, Centre for Advanced Research
on Energy May 2018
[3] Keshav Srivastavaa, Dilip Kumar Choubeyb, Jitendra Kumar.
“implementation of Inventory Management System”. International
Conference on Innovative Computing and Communication 2020.
[4] Veerapuneni Sai Venkata Siva Nanda. Laboratory Inventory Management
System. Sathyabama Institute of Science and
Technology.Aprail 2021.
[5] Ibrahim Boukallal and Fatima El Khoukhi. Lecture Notes in Networks and
Systems, Optimization of Inventory management . June2021.
[6] [Geeks for Geeks. "GeeksforGeeks | A computer science portal for geeks.
[7] W3Schools. "W3Schools Online Web Tutorials.
[8] Bootstrap. "Bootstrap Documentation." Available:
https://getbootstrap.com/docs/.

35

You might also like