Lab Inventory V2
Lab Inventory V2
SYSTEM
A Project Report submitted in
fulfillment of requirements for the degree of
Bachelor of Technology
In
Computer Engineering
By
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.
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.
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.
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
Department of Computer Engineering 2023-24
2
Department of Computer Engineering 2023-24
2.
Name of the paper Implementation of Inventory Management System [3]
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
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
Department of Computer Engineering 2023-24
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.
6
Department of Computer Engineering 2023-24
1.4 Objectives
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.
7
Department of Computer Engineering 2023-24
CHAPTER 2
DESIGN AND DEVELOPMENT
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
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.
11
Department of Computer Engineering 2023-24
Fig 2: ER Diagram
12
Department of Computer Engineering 2023-24
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.
13
Department of Computer Engineering 2023-24
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.
14
Department of Computer Engineering 2023-24
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.
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.
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
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.
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.
19
Department of Computer Engineering 2023-24
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.
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.
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
CHAPTER 5
IMPLEMENTATION
5.1 PSEUDOCODE
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 "Connection failed: " followed by the exception message to the screen
PRINT "Connection failed: " + e->getMessage()
conn = get_global_connection_object()
# Check if a member with the given school ID, first name, last name, and type
already exists
sql_count = sql.rowCount()
if sql_count <= 0:
# If no existing member is found, insert the new member into the database
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")
conn = get_global_connection_object()
# Check if a member with the given faculty ID, first name, last name, and type
already exists
if sql_count <= 0:
# If no existing member is found, insert the new faculty member into the
database
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
function add_equipment():
conn = get_global_connection_object()
# Get equipment details from the POST data: model, eq number, category,
brand, description, stock, type, Status.
h_tbl = 'equipment'
sessionid = $_SESSION['admin_id']
sessiontype = $_SESSION['admin_type']
if fileStatus:
file = fileName + '.' + extension
sql = conn.prepare('UPDATE item SET i_photo = ? WHERE id = ?')
sql.execute(array(file, itemID))
historycount = history.rowCount()
24
Department of Computer Engineering 2023-24
print(historycount)
else:
print('0')
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(?,?,?,?,?,?,?,?)')
# Loop through each line in the CSV file and insert member data
while (($data = fgetcsv(handle, 1000, ',')) !== FALSE):
sql.execute(data)
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(?,?,?,?);
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)
if client_id == 0:
print('3')
else:
# Loop through each item in the items array
26
Department of Computer Engineering 2023-24
count = sql1.rowCount()
if row <= 0:
# Insert room details into the room table and create a history log
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
29
Department of Computer Engineering 2023-24
30
Department of Computer Engineering 2023-24
31
Department of Computer Engineering 2023-24
32
Department of Computer Engineering 2023-24
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.
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