Stock Management System
Stock Management System
ABSTRACT
1. INTRODUCTION
This application is used to show the stock remaining and details about the sales
and purchase. It gives the details about the stock on daily based and weekly
based. The details components are described below: Login page: As application
starts the login page appears. Admin login is determined by the username and
password that has all the authority to add, update and delete the stock of the
organization as per the requirement.
Sales details: It show the details about the sales and the remaining stock of
sales. It also show the details about the sales in return.
Purchase details: It shows the details about the purchase made by the
organization along with the price and dates.
2. LITERATURE SURVEY
HARDWARE REQUIREMENTS:
SOFTWARE REQUIREMENTS:
Front-End : Php.
The goal for the application is to manage the inventory management function
of the organization. Once it is automated all the functions can be effectively
managed and the organization can achieve the competitive advantage. Business
requirement are discussed in the Scope section, with the following additional
details:
4.3.1 Admin
This software has been tested for various feasibility criterions from various
point of views.
Which are easily available within the estimated cost and schedule. 10
The system provides better solution to the libraries by adding the typical
requirement and necessities. The solution provided by this system will be
acceptable to ultimate solution for the stock management.
The organized schedule for the development of the system is presented in the
schedule sub-section. The reasonable timeline reveals that the system
development can be finished on desired time framework.
5. MODULES
5.1 SYSTEM MODEL
After analyzing many existing SMS we have now the obvious vision of the
project to be developed. Before we started to build the application team had
many challenges. We defined our problem statement as,
• To make hardware based system of SMS for small organization.
• To make the system easily managed and can be secured.
• To cover all the areas of SMS like purchase details, sales details and stock
management
The proposed solution to the stock management. Integration of RFID to the
traditional inventory management will help in loss prevention and as an enabler
for locating misplaced stock, anticounterfeiting of stock, and availability of
stock on shelves. In this architecture, RFID serves as a replacement for the bar
code scanners which are normally used to track products and shipments in
similar ways (Smith 2000). This architecture fully integrates the technical
advantages of RFID to provide feedback on the process to the inventory
manager. RFID system consists of three fundamental components. Initially, the
RFID tag is attached to a product in the inventory. The tag contains information
about the particular inventory or product and also may include sensors. The next
component is the RFID reader, which communicates with the RFID tags. The
last component is the backend system, which links the RFID readers to a
centralized database or server. The centralized database will store all the
information of the products, such as price, for each RFID tagged item. In this
proposed architecture for inventory management, the passive tags will be used
due to their low cost. Among the functionalities expected to be performed by
this system includes:
• Checking the availability of stock on shelves:
• Identifying misplaced stock on shelves.
• Identifying expired stock.
• Identifying counterfeit products.
• Sending updates to the inventory manager.
• Support JIT Inventory
• Visibility of inventory throughout the supply Chain
• Perform the inventory functions with less manual intervention
The Electronic Product Code (EPC) is a unique global identifier of each product
in RFID technologies which is used to track and trace products (Yan 2008). The
EPC RFID readers will be placed among the shelves and the products will be
programmed with EPC RFID enabled tags. EPC RFID tags will send out the
signal which will be received by the EPC RFID readers in the radio frequency
field. The readers will receive the signal through their antennas and transmit the
stored information, i.e. Validation, tracking, counts, and error messages to the
EPC middleware. The EPC middleware will filter out the repeating and
irrelevant information. Thereafter, information will be sent to the local server.
The local server computer system will pass on the information to the inventory
manager i.e. reports on inventory, aggregate counts, errors occurred, misplaced
stock etc. The end user or owner will receive the notification on inventory
through his/her display. This system gives effective technical reference for
enterprise managers to monitor whole process of inventory without them being
physically involved in the process. The consumers of the products will benefit
also in this proposed architecture. They can query information about the product
on the remote server using the EPC (Electronic Product Code); the ONS (Object
Naming Service) is network system which works similar to the DNS (Domain
Name Service). We started research by identifying the need of SMS in the
organization. Initially we bounded our research to find the general reasons that
emerged the needs of Stock Management System. We used different techniques
to collect the data that can clearly give us the overall image of the application.
The techniques we used were interview with the developers, visiting online
websites that are presented as the templates and visiting some organization to
see their SMS application. Basically the following factors forced us to develop
SMS application:
• Cost and affordability
• Lack of stock management.
• Effective flow of stock transfer and management.
• Difficulty in monitoring the stock management.
5.2 PROPOED SYSTEM IMPLEMENTATION
We collected a number of requirements for project from our primitive research,
website visits, and interview to the concerned personnel and their experiences
regarding the concepts of its development. We have even visited some
organization in Dhaka and analyze its importance and try to develop the project
by fulfilling all the weakness that were found in the application. We then
decided to build same type of application with different logic flow and new
language which will be suitable for the small organization.
a. SMS Requirement
The goal for the application is to manage the stock management function of the
organization. Once it is automated all the functions can be effectively managed
and the organization can achieve the competitive advantage. Business
requirement are discussed in the Scope section, with the following additional
details: Helps to search the specific product and remaining stock. Details
information about the product sales and purchase. Brief Information of the
organization todays status in terms of news, number of present stock as per the
date entered. It helps to identify the total presented inventory in the company.
To know the balance and details of sales distribute.
5.3 Database Theory
A database is a collection of information that is organizes so that it can easily be
accessed, managed and updated. In one view, database can be classified
according to types of content: bibliography, full-text, numeric, and image. In
computing, database are sometime classified according to their organizational
approach. A distributed database is one that can be dispersed or replicated
among different points in a network.
5.3.1 Relational Database
IMS has the relational database model. A relational database is a digital
database whose organization is based on the relational model of data. This
model organizes data into one or more tables of rows and columns. These tables
here have the relation. The relation is maintained by the unique key defined in
each row. The key can be primary and foreign depending on their nature of
connection. The standard user and application program interface to a relational
database is the structured query language (SQL). SQL statement are used both
for interactive queries for information from relational database and for gathering
data for reports.
Primary Key
The primary key of a relational table uniquely identifies each record in the table.
It can either be a normal attribute that is guaranteed to be unique or it can be
generated by the DBMS. A primary key’s main features are:
It must contain a unique value for each row of data.
It cannot contain null value.
Foreign Key
A foreign key is a column or group of column in a relational database table that
provides a link between data in two tables. In foreign key reference, a link is
created between two tables when the column or columns that hold the primary
key value for one table are referenced by the column or column in another table
thereby establishing a link between them. Creating a foreign key manually
includes the following advantages:
Changes to primary key constraints are checked with foreign key
constraints in relation table.
An index enables the Database Engine to quickly find related data in the
foreign key tables.
5.3.2 Structured Query Language (SQL)
The structured Query language (SQL) is the set of instructions used to interact
with a relational database. In fact, SQL is the only language the most database
actually understand. Whenever you interact with such a database, the software
translates your commands into SQL statement that the database knows how to
interpret. SQL has three major Components:
Data Manipulation Language (DML)
Data Definition Language (DDL)
Data Control Language (DCL)
5.4 ACID Property
Every database transaction obeys the following rules: Atomicity – Either the
effects of all or none of its operation remain (“all or nothing” semantics) when a
transaction is completed (committed or aborted respectively). In other words, to
the outside world a committed transaction appears (by its effects on the
database) to be indivisible, atomic, and an aborted transaction does not leave
effects on the database at all, as if never existed.
Consistency – every transaction must leave the database in a consistent
(correct) state, i.e., maintain the predetermined integrity rules of the database
(constraints upon and among the database’s objects). A transaction must
transform a database from one consistent state to another consistent state
(however, it is the responsibility of the transaction’s programmer to make sure
that the transaction itself is correct, i.e., performs correctly what it intends to
perform (from the application’s point of view) while the predefined integrity
rules are enforced by the DBMS). Thus since a database can be normally
changed only by transactions, all the database’s states are consistent. An aborted
transaction does not change the database state it has started from, as if it never
existed (atomicity above).
Isolation – Transactions cannot interfere with each other (as an end result of
their executions). Moreover, usually (depending on concurrency control
method) the effects of an incomplete transaction are not even visible to another
transaction. Providing isolation is the main goal of concurrency control.
Durability – Effects of successful (committed) transactions must persist
through crashes (typically) by recording the transaction’s effects and its commit
event in a non-volatile memory.
6. SYSTEM DESIGN
6.1 Architecture Diagram
Fig 1: Architecture Diagram
This is an illustration of a Network Architecture for Inventory management
system. Network architecture may help with security, which is becoming more
critical as more consumer devices connect to the network. The network's design
and protocols must facilitate rapid and efficient user detection and authorisation.
The Open Systems Interconnection Model, or OSI, is used in the majority of
network topologies. This conceptual paradigm divides network jobs into seven
logical levels, from the most basic to the most complex. The Physical layer, for
example, is responsible for the network's wire and cable connections. The
uppermost tier, the Application layer, has APIs for application-specific tasks
such as chat and file sharing. Download this free EdrawMax template to easily
create your own network architecture!
6.2: Process Flow Diagram
Process Flow Diagram or Flowchart is a diagram which uses geometric symbols
and arrows to define the relationships. It is a diagrammatic representation of the
algorithm. The Process flow Diagram of our application is shown below:
If a dependency does drop support for a PHP version that was initially
supported by the Drupal major version, an unscheduled minor release may be
created to require the new PHP and dependency versions. For example, Drupal
9.0.0 supported PHP 7.3, so if a Drupal 9 dependency drops support for PHP
7.3 before Drupal 9's end-of-life date in November 2023, we may create a new
minor version outside the normal schedule that increases the PHP version
requirement to 7.4 and the dependency's version requirement to the supported
version.
Drupal will work on all supported PHP versions. Recommended PHP versions
are the best choice for building a Drupal site because they will remain supported
longer.
PHP extensions needed
Extensions used by Drupal core are defined in Core's composer.json file - see
for example the file for Drupal 9.1.x. Look at the "require" section and the keys
starting with "ext-".
Note: Adding a PHP extension to your system, at least on Linux (and Mac),
means finding and installing the relevant PHP package using your package
manager. Typically the package name for the Foo extension is named "php-foo"
or "php7-foo", but this isn't always the case. Some extensions are part of the
core PHP package and hence are enabled by default.
Database extensions
The PHP Data Objects (PDO) extension must be activated for Drupal 9 and
higher to install and run correctly. The PECL version of PDO is not compatible
with Drupal 9 and cannot be used. In addition, a PHP extension for connecting
to your chosen database must be installed and enabled.
Drupal's currently supported database connectors are SQLite, mysql (the
original MySQL extension), mysqli (an improved connector for newer MySQL
installations), and pgsql (for PostgreSQL).
XML extension
PHP XML extension (for Blog API, Drupal, and Ping modules). This extension
is enabled by default in a standard PHP installation; the Windows version of
PHP has built-in support for this extension. Enabling the XML extension also
enables PHP DOM. DOM is now a systems requirement.
Image library
An image library for PHP such as the GD library is a required extension in
Drupal 9 and higher, and is needed for image manipulation (resizing user
pictures, image and image cache modules). ImageMagick is also supported for
basic image manipulations in Drupal core but there is much less support from
contributed modules.
OpenSSL
The PHP OpenSSL extension is recommended to allow Drupal to make
outgoing requests using HTTPS and is required when using the Update
Manager. Read PHP OpenSSL requirements for more information.
JSON
Drupal 9 and higher require PHP compiled with JSON. JSON support is
normally compiled as part of PHP core, but in case you're getting errors like
PHP Fatal error: Call to undefined function Drupal\\Component\\Serialization\\
json_encode() in core/lib/Drupal/ Component/ Serialization/Json.php try adding
the JSON extension.
cURL
The PHP cURL extension is required for automated testing in Drupal 9 and
higher, as well as Aggregator and some contributed modules. Many Linux
distributions and development stacks will have it enabled by default, but if your
system doesn't either enable it in php.ini (typically on Windows) or install it
using your package manager (typically on Linux).
Mbstring
The PHP mbstring extension provides multibyte specific string functions used
for Drupal installation in other languages except for English and also
multilingual sites in Drupal. It helps deal with multibyte encodings in PHP and
also handles Unicode based encoding like UTF-8 or UCS-2.
PHP configuration settings
Memory requirements
PHP memory requirements can vary significantly depending on the modules in
use on your site. The minimum required memory size is 64MB.
Warning messages will be shown if the PHP configuration does not meet these
requirements. However, while these values may be sufficient for a default
Drupal installation, a production site with a number of commonly used modules
enabled could require more memory. Typically 128 MB or 256 MB are found in
production systems. Some installations may require much more, especially with
media-rich implementations. If you are using a hosting service it is important to
verify that your host can provide sufficient memory for the set of modules you
are deploying or may deploy in the future. (See the Increase PHP memory
limit page in the Troubleshooting FAQ for additional information on modifying
the PHP memory limit.)
.htaccess settings
Some of the memory settings are contained in the default .htaccess file that
ships with Drupal, so you shouldn't need to set them explicitly. Note, however,
that setting PHP configuration options from .htaccess only works under the
following conditions:
Other interfaces
See the PHP manual for how to change configuration settings for other
interfaces to PHP.
Xdebug
If using Xdebug:
Setting: xdebug.show_exception_trace = 0
Reason: Could cause Drupal's installer to crash.
Using Xdebug with Drupal 9:
Setting: xdebug.collect_params = ?
Reason:Setting xdebug.collect_params too high will prevent Drupal 9 from
installing and working properly.
Setting:xdebug.max_nesting_level = 256
Reason:Using the default max_nesting_level of 100 (in xdebug versions < 2.3)
causes some pages to crash.
PHP from different sources
Drupal is designed to work with PHP as distributed on PHP.net. Every effort is
made to make it work with PHP versions from other sources but this is only
done on a best effort basis. In particular, Suhosin is known to break certain
features; and some operating systems move core components into other
packages.
PHP requirements details
See the phpinfo() page on Drupal.org to learn how to use Phpinfo to get the
details of your system. For example, Phpinfo will tell you if you have a database
already installed and what versions of PHP, MySQL, etc. your system is
running. Phpinfo will also tell you what PHP variables are set as well as many
other helpful things.
It is often possible to update to a newer version of PHP that ships with your
Linux distribution. Please read the documentation for your Linux distribution.
8. CONCLUSION
The importance of stock management is very serious, it is one of the most
important aspects of any business. Once it is automated all the functions can be
effectively managed and the organization can achieve the competitive
advantage. Business requirement are discussed in the Scope section, with the
following additional details: Helps to search the specific product and remaining
stock. Details information about the product sales and purchase. Brief
Information of the organization todays status in terms of news, number of
present stock as per the date entered. It helps to identify the total presented
inventory in the company.
9. FUTURE SCOPE
The Fourth Industrial Revolution will continue to drive technological
change that will impact the way that we manage inventories.
Collaboration with supply chain partners, coupled with a holistic
approach to supply chain management, will be key to effective inventory
management.
The nature of globalization will change, impacting inventory deployment
decisions dramatically.
Increased focus on supply chain security, and concerns about the quality
of inventory itself, will be primary motivators to changing supply chain
and inventory strategy.
10. REFERENCE
[1]. Tangtisanon, P., 2018, April. Web Service Based Food Additive Inventory
Management with Forecasting System. In 2018 3rd International Conference on
Computer and Communication Systems (ICCCS) (pp. 448- 452). IEEE.
[2]. Ignaciuk, P. and Wieczorek, Ł., 2019. Networked base-stock inventory
control in complex distribution systems. Mathematical Problems in
Engineering, 2019.
[3]. HR, G. and Aithal, P.S., 2020. Integrated Inventory Management Control
Framework. International Journal of Management, Technology, and Social
Sciences (IJMTS), 5(1), pp.147-157.
[4]. Botha, A., Grobler, J. and Yadavalli, V.S., 2017. System dynamics
comparison of three inventory management models in an automotive parts
supply chain. Journal of Transport and Supply Chain Management, 11(1), pp.1-
12.
[5]. Pando, V., San-Jose, L.A., Sicilia, J. and Alcaide-Lopez-de-Pablo, D., 2021.
Maximization of the return on inventory management expense in a system with
priceand stock-dependent demand rate. Computers & Operations Research, 127,
p.105134.
[6]. May, B.I., Atkinson, M.P. and Ferrer, G., 2017. Applying inventory
classification to a large inventory management system. Journal of Operations
and Supply Chain Management (JOSCM), 10(1), pp.68-86.
[7]. Yuvaraj, K., Oorappan, G.M., Megavarthini, K.K., Pravin, M.C., Adharsh,
R. and Kumaran, M.A., 2020, November. Design And Development Of An
Application For Database Maintenance In Inventory Management System Using
Tkinter And Sqlite Platform. In IOP Conference Series: Materials Science and
Engineering (Vol. 995, No. 1, p. 012012). IOP Publishing.
[8]. Kara, A. and Dogan, I., 2018. Reinforcement learning approaches for
specifying ordering policies of perishable inventory systems. Expert Systems
with Applications, 91, pp.150-158.
[9]. Diamant, A., Milner, J., Quereshy, F. and Xu, B., 2018. Inventory
management of reusable surgical supplies. Health care management science,
21(3), pp.439-459.
[10]. Nemtajela, N. and Mbohwa, C., 2017. Relationship between inventory
management and uncertain demand for fast moving consumer goods
organisations. Procedia Manufacturing, 8, pp.699-706.
[11]. Rodriguez‐Gonzalez, C.G., Herranz‐Alonso, A., Escudero‐Vilaplana, V.,
Ais‐Larisgoitia, M.A., Iglesias‐Peinado, I. and Sanjurjo‐Saez, M., 2019. Robotic
dispensing improves patient safety, inventory management, and staff
satisfaction in an outpatient hospital pharmacy. Journal of evaluation in clinical
practice, 25(1), pp.28-35.