RUBRIC - 4 of "Inventory Management System" Project
RUBRIC - 4 of "Inventory Management System" Project
Submitted by
Kiran Kumari(21BCA1006)
Shalu Kumari(21BCA1961)
Chandigarh University
August 2023
1
BONAFIDE CERTIFICATE
Certified that this project report “Inventory Management System” is the bonafide
work of “Kiran Kumari and Shalu Kumari” who carried out the project work
under my/our supervision.
SIGNATURE SIGNATURE
Miss Jyoti Rani
2
CHAPTER 1. INTRODUCTION ..........................................................…04-10
1.1. Title of the project ………………………………………………….04-04
1.2. Abstract …………………………………………………………….04-04
1.3. About languages used ……………………………………..……….05-05
1.4. Introduction to the Project …………………………….…………...06-07
1.5. Client Identification and Recognition of Need………………..……07-07
1.6. Project Identification and Task Identification……………………....08-09
1.7. Modules……………………………………………………………..09-10
1.8. Timeline of the project (in weeks) ……………………………..…..10-10
3
Inventory Management System
ABSTRACT
4
About languages use
HTML: HTML stands for Hypertext Markup Language, which is the most widely
used language on Web to develop web pages. HTML was created by Berners - Lee in
late 1991 but "HTML 2.0" was the first standard HTML specification which was
publishedin 1995. HTML 4.01 was a major version of HTML and it was published in
late 1999.
CSS: CSS stands for Cascading Style Sheets. It describes how HTML elements are to
be displayed on screen, paper, or in other media. It saves a lot of work. It can control
the layout of multiple web pages all at once. External stylesheets are stored in CSS
files Without CSS, every web page would be drab plain text and images that flowed
straight down the page. With CSS, you can add colour and background images and
change the layout of your page your web pages can feel like works of art!.
PHP: The term PHP is an acronym for PHP: Hypertext Preprocessor. PHP is a
server-side scripting language designed specifically for web development. It is open-
source which means it is free to download and use. It is very simple to learn and use.
The files have the extension “.php.
5
Introduction to the Project
Identification of need:
The old manual system was suffering from a series of drawbacks. Since whole of
system was to be maintained with hands the process of keeping, maintaining and
retrieving the information was very tedious and lengthy. One more problem was there
that it was very difficult to find the errors while entering records. Once the record
was entered it was very difficult to update these records.
The reason behind is that there is lot of information to be maintained and have tokept
in mind while running the business. For this reason, we have provided the partially
automated feature in the present system i.e., actually existing system, which is quite
laborious.
Documents and reports that must be provided by the new system: there canalso be
few reports, which can help management in decision making and cost controlling, but
since these reports do not get required attention, such kind of reports and information
were also identified and given required attention.
7
PROJECT IDENTIFICATION
2. Scope and Objectives: Outline what the inventory management system should
achieve, like accurate stock levels, streamlined order fulfillment, minimized carrying
costs, and improved reporting.
3. System Features: List the essential features like barcode scanning, real- time
tracking, automatic reorder points, user roles and permissions, sales forecasting,
reporting and analytics, etc.
4. Technology Stack: Decide on the technology and tools you'll use for development,
such as programming languages, databases, frameworks, and any integrations with
existing systems.
5. User Interface Design: Describe how the user interface will look and function.
Consider ease of use, accessibility, and intuitive navigation for different user roles.
6. Data Management: Plan how you'll organize and store inventory data, including
product details, stock levels, suppliers, purchaseorders, sales records, etc.
8
7. Integration: Identify if the system needs to integrate with other software like POS
systems, accounting software, or e-commerce platforms.
8. Security: Define security measures to protect sensitive data, both interms of user
access and data transmission.
9. Testing Strategy: Describe how you'll ensure the system is thoroughly tested
before deployment. This includes unit testing,integration testing, and user acceptance
testing.
Task Identification
The inventory management system project involves various tasks that need to be
completed to develop a functional and efficient system. The first step is to gather and
document all the requirements for the system from stakeholders. With the requirements in
place, the project moves on to designing the system architecture, database structure, and
user interface. The database is set up to store information about products, stock levels, and
transaction history. User authentication ensures secure access to the system. Functionality
for entering new products and tracking inventory is implemented, including features for
order processing, reporting, and analytics. The user interface is designed to be user-
friendly, and automated notifications are set up for important events. To ensure data
integrity, processes for backup and recovery are established. Extensive testing is
conducted to identify and resolve any issues, followed by the creation of comprehensive
documentation and user training. Once everything is ready, the system is deployed, and
security measures are put in place. Ongoing maintenance, updates, and potential
integrationswith other systems are also considered for the project's success.
Literature Review
10
1. Historical Perspective:
The historical development of inventory management systems can be traced backto
the early 20th century when economic order quantity (EOQ) models were introduced.
These models laid the foundation for modern inventory management practices and
systems. Subsequent research has focused on refining these modelsand adapting them
to various industries and scenarios.
5. Industry-Specific Studies:
Inventory management practices vary across industries. Literature has explored
industry-specific challenges and best practices in sectors such as retail, manufacturing,
healthcare, and hospitality. These studies highlight the importance of tailoring
inventory management systems to specific industry needs.
To conduct a review of previous solutions or related materials and assess their extent
and relevance to an inventory management project, you'll want to follow astructured
process. Here's a step-by-step guide on how to do this effectively:
Address Limitations:
Acknowledge any limitations or drawbacks of the reviewed materials. Be aware of
potential biases, sample sizes, or contextual differences that may affect the
applicability of the solutions.
13
Summary of how reviewed literature helped indefining
problem statement
The reviewed literature played a crucial role in defining the problem statementof the
inventory management system by providing valuable insights, context, and
understanding of the challenges and best practices in the field. Here is a summary of
how the literature review contributed to shaping the problem statement:
Identification of Common Issues: Through the literature review, common issues and
pain points faced by organizations in managing their inventory were identified. This
included problems like overstocking, understocking, obsolescence, and inefficient
order fulfillment processes.
Best Practices: The literature review highlighted best practices and successful
strategies employed by businesses for effective inventory management. These insights
provided a benchmark for defining the problem, as the goal was to address
shortcomings in existing practices.
Costs and ROI: Literature provided information on the costs associated with poor
inventory management, such as holding costs, stockouts, and order processing
expenses. It also discussed how improved inventory management can lead to cost
savings and a better return on investment.
Customer Expectations: The literature review shed light on changing customer
expectations, including the demand for quicker order fulfillment and real-time
visibility into product availability. This aspect influenced the problem statement by
emphasizing the need for a customer-centric approach.
14
Regulatory Compliance: If applicable, the literature review may have highlighted
regulatory requirements and compliance issues related to inventorymanagement. These
factors could become part of the problem statement to ensure legal adherence.
Data Security and Privacy: If relevant, the literature may have discussed datasecurity
and privacy concerns related to inventory management systems. These considerations
could be included in the problem statement to ensure data protection.
In summary, the reviewed literature provided a comprehensive understanding of the
inventory management landscape, enabling the formulation of a problem statement
that is well-informed, context-specific, and aligned with industry best practices and
emerging trends. This holistic approach ensures that the resulting inventory
management system addresses key challenges and opportunities effectively.
Problem Definition
Key Challenges:
Inaccurate Inventory Tracking: Current systems often suffer from inaccuracies
15
in inventory counts, leading to overstocking or stockouts. Thiscan result in lost sales
or unnecessary carrying costs.
Selecting the right specifications and features for an inventory management system
(IMS) is crucial for the efficient functioning of the system and, consequently, for the
overall success of inventory management in a business.
3. Functional Requirements:
Define the core functionalities required, such as order management, stock tracking,
and reporting.
4. Technical Requirements:
Ensure compatibility with existing hardware and software infrastructure.
Check if it supports different platforms (web, mobile, desktop).
Implement robust security measures to protect sensitive inventory data.
Compliance with data protection regulations should be considered.
6. Inventory Tracking:
Considered support for barcode and RFID technology for accurate inventory tracking.
Real-time tracking capabilities for item location and movement is facilitated.
9. Scalability:
This is necessary to ensure the selected IMS can accommodate future business growth
19
and increased inventory volumes.
Design Constraints
User Interface: Constraints related to the user interface can include accessibility
requirements, multilingual support, and user-friendliness. The system may need to
accommodate users with disabilities.
Mobile and Cross-Platform Compatibility: If users need to access the IMS from
various devices or platforms (e.g., desktop, mobile, tablet), ensuring compatibility
across these platforms can be a constraint.
Geographical Constraints: If the organization has multiple locations or operates in
different regions, geographical constraints may impact the design, such as localization
for different markets.
2. Prioritize Features:
Essential Features:
Start by identifying the core features that are absolutely necessary for the system to
20
function. These are often non-negotiable.
Constraints-Based Prioritization: Take constraints into account when prioritizing. For
example, if you have a tight budget, prioritize cost-effective features. If you have a
short timeline, prioritize features that can be implemented quickly.
3. Categorize Features:
Inventory Management:
This category include features related to adding, updating, and deleting product
information, as well as tracking stock levels.
Order Management: Features related to creating and managing purchase and sales
orders.
User Management:
Features for defining user roles, permissions, and authentication.
4. Must-Have Features:
Inventory Tracking:
This is often the core functionality. Ensure the system can accurately track stock
levels, including real-time updates and notifications for low stock.
Product Management:
Allow for easy addition, editing, and deletion of product information, including details
like name, description, price, and category.
Supplier Management:
Keep track of supplier details and performance metrics.
User Roles and Permissions:
Implement user roles to restrict access to sensitive data and functionality.
21
Design Flow
6. Supplier Management:
Viewing Users can manage supplier information, including:
Adding new suppliers.
Editing supplier details.
supplier performance metrics (e.g., delivery times, pricing).
10.Logout: -
Users can log out of the system, terminating their session securely.
23
Design selection
The design should consider factors like user experience, system performance,
scalability, and maintainability.
Below, I'll outline several design options and considerations for each:
1. Monolithic Architecture:
In monolithic design, all components of the IMS are tightly integrated into a single
application.
2. Front-end:
Description: used front-end like HTML, CSS, JavaScript.
3. Database Selection:
Used MySQL database system for storing inventory data.
Implementation plan/methodology
Index.php :
<?php
ob_start();
require_once('includes/load.php');
if($session->isUserLoggedIn(true)) { redirect('home.php', false);}
?>
<?php include_once('layouts/header.php'); ?>
<div class="login-page">
<div class="text-center">
<h1>Login Panel</h1>
<h4>Inventory Management System</h4>
</div>
<?php echo display_msg($msg); ?>
<form method="post" action="auth.php" class="clearfix">
<div class="form-group">
<label for="username" class="control-label">Username</label>
<input type="name" class="form-control" name="username" placeholder="Username">
</div>
24
<div class="form-group">
<label for="Password" class="control-label">Password</label>
<input type="password" name= "password" class="form-control"
placeholder="Password">
</div>
<div class="form-group">
<button type="submit" class="btn btn-danger" style="border-
radius:0%">Login</button>
</div>
</form>
</div>
<?php include_once('layouts/footer.php'); ?>
OUTPUT:
home.php:
<?php
$page_title = 'Home Page';
require_once('includes/load.php');
if (!$session->isUserLoggedIn(true)) { redirect('index.php', false);}
?>
<?php include_once('layouts/header.php'); ?>
<div class="row">
<div class="col-md-12">
<?php echo display_msg($msg); ?>
</div>
<div class="col-md-12">
<div class="panel">
25
<div class="jumbotron text-center">
<h1>Welcome User <hr> Inventory Management System</h1>
<p>Browes around to find out the pages that you can access!</p>
</div>
</div>
</div>
</div>
<?php include_once('layouts/footer.php'); ?>
OUTPUT:
Admin.php :
<?php
$page_title = 'Admin Home Page';
require_once('includes/load.php');
// Checkin What level user has permission to view this page
page_require_level(1);
?>
<?php
$c_categorie = count_by_id('categories');
$c_product = count_by_id('products');
$c_sale = count_by_id('sales');
$c_user = count_by_id('users');
$products_sold = find_higest_saleing_product('10');
$recent_products = find_recent_product_added('5');
$recent_sales = find_recent_sale_added('5')
?>
<?php include_once('layouts/header.php'); ?>
26
<div class="row">
<div class="col-md-6">
<?php echo display_msg($msg); ?>
</div>
</div>
<div class="row">
<a href="users.php" style="color:black;">
<div class="col-md-3">
<div class="panel panel-box clearfix">
<div class="panel-icon pull-left bg-secondary1">
<i class="glyphicon glyphicon-user"></i>
</div>
<div class="panel-value pull-right">
<h2 class="margin-top"> <?php echo $c_user['total']; ?> </h2>
<p class="text-muted">Users</p>
</div>
</div>
</div>
</a>
<div class="row">
<div class="col-md-4">
<div class="panel panel-default">
<div class="panel-heading">
<strong>
<span class="glyphicon glyphicon-th"></span>
<span>Highest Selling Products</span>
</strong>
</div>
<div class="panel-body">
<table class="table table-striped table-bordered table-condensed">
<thead>
<tr>
<th>Title</th>
<th>Total Sold</th>
<th>Total Quantity</th>
<tr>
</thead>
<tbody>
<?php foreach ($products_sold as $product_sold): ?>
<tr>
<td><?php echo remove_junk(first_character($product_sold['name'])); ?></td>
<td><?php echo (int)$product_sold['totalSold']; ?></td>
<td><?php echo (int)$product_sold['totalQty']; ?></td>
</tr>
<?php endforeach; ?>
<tbody>
</table>
</div>
</div>
</div>
<div class="col-md-4">
<div class="panel panel-default">
<div class="panel-heading">
<strong>
<span class="glyphicon glyphicon-th"></span>
<span>LATEST SALES</span>
</strong>
28
</div>
<div class="panel-body">
<table class="table table-striped table-bordered table-condensed">
<thead>
<tr>
<th class="text-center" style="width: 50px;">#</th>
<th>Product Name</th>
<th>Date</th>
<th>Total Sale</th>
</tr>
</thead>
<tbody>
<?php foreach ($recent_sales as $recent_sale): ?>
<tr>
<td class="text-center"><?php echo count_id();?></td>
<td>
<a href="edit_sale.php?id=<?php echo (int)$recent_sale['id']; ?>">
<?php echo remove_junk(first_character($recent_sale['name'])); ?>
</a>
</td>
<td><?php echo remove_junk(ucfirst($recent_sale['date'])); ?></td>
<td>$<?php echo remove_junk(first_character($recent_sale['price'])); ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</div>
</div>
<div class="col-md-4">
<div class="panel panel-default">
<div class="panel-heading">
<strong>
<span class="glyphicon glyphicon-th"></span>
<span>Recently Added Products</span>
</strong>
</div>
<div class="panel-body">
<div class="list-group">
<?php foreach ($recent_products as $recent_product): ?>
<a class="list-group-item clearfix" href="edit_product.php?id=<?php
echo (int)$recent_product['id'];?>">
<h4 class="list-group-item-heading">
<?php if($recent_product['media_id'] === '0'): ?>
<img class="img-avatar img-circle" src="uploads/products/no_image.png"
alt="">
<?php else: ?>
<img class="img-avatar img-circle" src="uploads/products/<?php echo
$recent_product['image'];?>" alt="" />
<?php endif;?>
<?php echo remove_junk(first_character($recent_product['name']));?>
29
<span class="label label-warning pull-right">
$<?php echo (int)$recent_product['sale_price']; ?>
</span>
</h4>
<span class="list-group-item-text pull-right">
<?php echo remove_junk(first_character($recent_product['categorie'])); ?>
</span>
</a>
<?php endforeach; ?>
</div>
</div>
</div>
</div>
</div>
<div class="row">
</div>
<?php include_once('layouts/footer.php'); ?>
OUTPUT:
Employees have access to details about sales like they can add sales about any
product and also have access about sales report like sales by dates, monthly sales or
daily sales.
31
Special users can have access to details related to product like add product, amount of
product left, etc.
32
We have used following programming languages for implementing our plan:
33
SQL: we have used SQL for storing all data related to product, user data, categories,
sales data, etc.
PHP: We have used PHP as a back-end language for fetching data from the database,
for making login credentials, for making different functions in inventory management
system like sales report by date, etc.
CSS: We have used CSS for styling purposes like making dashboard at right place,
and all other contents.
uneasy to track the goods of sales and inventory. That is why researchers mend to
develop and make a computerized point of sale and inventory system solution that
could efficiently handle the responsibility of sales and inventory system. Our project
is only a humble venture to satisfy the needs to manage their project work. Several
users friendly coding have also adopted. This package shall prove to be a
powerful package in satisfying all the requirements of the user. The objective of
software planning is to provide a framework that enables the manager to make
reasonable estimates made within a limited time frame at the beginning of the
software project and should be updated regularly as the project progress.
34
IMPLEMENTATION OF THE SOLUTIONS
In Inventory Management System we are having different access controls based on level of
the user. Basically, we are having three different users that are admin, special users and
user. They are having the different access levels.
36
CONCLUSION
The proposed and developed inventory management system aims to provide a software that
can be used by small to medium retail store that stills manages inventory manually in any
region of our country. Moreover, it also helps a retail store to track down the amount of
product stocks left. In overall, the inventory management system achieved the general of
inventory management activities but there are more additional features like recording
feedbacks and assigning staff for order delivery and many more that can be used by the user
if needed. Even though the inventory management system has been fully developed by the
developer, there are still limitations found and future enhancement that can be made towards
the system.
FUTURE WORK
Meanwhile there is also future enhancement that can be made on the system that
is based on the feedback given by the tester in UAT test and the researcher ideas
due to time constraint of the project.
The first future enhancement that can be made is to provide a search feature inside
dropdown value especially for searching products in report or add customer order
form. This will provide better user experience where user can design the desirable
product in the dropdown component more easily. Secondly, an additional data of
product picture needs to be added to the system as requested by the tester. This is
because the picture helps staff to identify variety and description the product. For
example, there are varieties of milo flavours such as original, caramel, vanilla and
cocoa. Lastly, the system also needs an additional module for recording return
product data that is based on customer order after valid feedback were given.
Sometimes, product will be delivered at faulty condition due to unexpected
circumstances. Thus company need to record the defect product return by the
customer to view how much loss affected to the company.
References
"Inventory Management Explained: A Focus on Forecasting, Lot Sizing,Safety Stock,
37
and Ordering Systems" by David J. Piasecki.
"Inventory Control and Management" by Donald Waters.
"The Definitive Guide to Inventory Management: Principles and Strategies for the
Efficient Flow of Inventory across the Supply Chain" by Council of Supply Chain
Management Professionals (CSCMP).
Online learning platforms like Coursera, edX, and LinkedIn.
38