Documentation of A Inventory Management System

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 14

System

Documentation
Installation and User Accounts
The Proudly Green Inventory Management System was developed on the NetBeans IDE 8.2 and
requires the following versions or higher:
● MySQL Server 8.0
○ .Net Framework 4.5.2
● JDK 1.4.0
● Dependencies/Libraries for Development:
○ mysql-connector-java-8.0.15
○ jcalendar-1.4
○ JTattoo-1.6.10
○ joda-time-2.10.1
○ poi-3.17
○ xmlbeans-2.6.0
○ commons-codec-1.10
○ commons-collection4-4.1
○ commons-logging-1.2
○ curvesapi-1.04
○ poi-examples-3.17
○ poi-ooxml-3.17
○ poi-ooxml-schemas-3.17
○ poi-scratchpad-3.17

Installation of this product requires the setup of a MySQL server and the execution of the SQL
file imsrun.sql. The product uses the mysql username ​‘root’ and password ​‘proudlygreen’​. Before
logging into the Proudly Green IMS, the database ​‘ims’ must be created. Execute the imsrun.sql file in
either mysql workbench or command line to create the necessary tables and fields. When these have
been accomplished, enter the default username and password of the Proudly Green Inventory
Management System:
● For Administrators: Username - ‘user4’ and Password - ‘pass’
● For Normal Users: Username - ‘user5’ and Password - ‘pass’
Remember, these User accounts may be created, edited, or deleted only by the Administrator.
There is currently no method of registering an account from the log-in menu. These 2 Users are
created on execution of the imsrun.sql. Recovering access to the system requires the use of sql queries
to inject another user. Execute the following query in the console or in the workbench:

USE ims;

INSERT INTO `users` (`id`, `fullname`, `location`, `phone`, `username`, `password`, `category`) VALUES
(99, 'Proudly Green Admin', 'Timog', '12345', 'user4', 'pass', 'ADMINISTRATOR');
Entity Relationship Diagram
The Entity Relationship Diagram of the system portrays the fields needed by the system to keep
it running. The tables listed below are as is in the database ‘ims.’ The main table to take note of in the
ERD would be the ‘product’ table as all other tables have the need to access it at some point. A few
things that differentiates the modified IMS to the original open-source solution by Sajan Rajbhandari is
that the group has included the ‘purchaseinfo’ for the purchase of new stock. Other than the addition of
a few fields to fit our system, a major modification is the exclusion of the ‘customer’ table. The customer
table, though present in the database, has no dependencies to the other tables, because the system
being constructed will not revolve around tracking the customers primarily.
The following are descriptions of each table and field:
● ‘currentstocks’
○ productcode - varchar(100)
■ The Product Code or Barcode Value. NOT Product ID.
○ quantity - int(11)
■ Quantity in stock
○ weight - double
■ Weight in grams in stock. All items entered have a default value of 100g if no
weight is specified.
○ costsold - double
■ Cost of Goods Sold.
■ This is reached by Cost Price * Quantity * (Weight/100g)
○ costexpired - double
■ Cost of Expired Goods. This field accounts for the amount of disposed products.
■ This is reached by Cost Price * Quantity * (Weight/100g)
● ‘customers’ [UNUSED]
● ‘products’
○ pid - int(11)
■ Primary Key. Serves as index. Not to be confused with productcode.
○ productcode - varchar(100)
■ The Product Code or Barcode Value. NOT Product ID.
○ productname - varchar(50)
■ The Product Name
○ costprice - double
■ Cost Price of Stock
○ sellingprice - double
■ Selling Price of Stock
○ brand [UNUSED]
○ expirationdate - Date
■ Date of expiration. Serves as reference for when to dispose.
● ‘purchaseinfo’
○ purchaseid - int(11)
■ Primary Key. Serves as index.
○ suppliercode - varchar(200)
■ Code of Supplier
○ productcode - varchar(200)
■ The Product Code or Barcode Value. NOT Product ID.
○ date - varchar(200)
■ Date of Purchase
○ quantity - int(11)
■ Quantity purchased
○ weight - double
■ Weight in grams purchased. All items entered have a default value of 100g if no
weight is specified.
○ totalcost - double
■ This is reached by Cost Price * Quantity * (Weight/100g)
● ‘salesreport’
○ salesid - int(11)
■ Sales Index. Primary Key. Not to be confused with Sales Invoice.
○ salesinvoice - int(11)
■ The Invoice Number as specified on paper.
○ date - varchar(40)
■ Date Sold
○ productcode - varchar(100)
■ The Product Code or Barcode Value. NOT Product ID.
○ customercode [UNUSED]
■ Set to “cus3”
○ quantity - int(11)
■ Quantity Sold
○ weight - double
■ Weight in grams in stock. All items entered have a default value of 100g if no
weight is specified.
○ wevenue - double
■ This is reached by Selling Price * Quantity * (Weight/100g)
○ soldby - varchar(50)
■ Set to Null
● ‘suppliers’
○ sid - int(11)
■ Supplier Index. Primary Key. Not to be confused with Supplier Code
○ suppliercode - varchar(100)
■ Supplier code, as specified by the user.
○ fullname - varchar(50)
■ The Full name of the supplier.
○ location - varchar(50)
■ Address of the Supplier
○ phone - varchar(10)
■ Phone Number of the Supplier
● ‘users’
○ id - int(11)
■ Index. Primary Key.
○ fullname - varchar(50)
■ Full name of user.
○ location - varchar(50)
■ Address of user.
○ phone - varchar(10)
■ Phone Number of user.
○ username - varchar(20)
■ Username of user.
○ password - varchar(200)
■ Password of user.
○ category - varchar(20)
■ Either Administrator or Normal User
Data Flow Diagrams
There are two kinds of Data Flow Diagrams attached. The first diagram, the Data Flow Diagrams
portray the current system in place with regards to inventory management. The system in place shows
two entities: the customer, and the supplier. These are external stakeholders. The Inventory System
would not, on a higher level, change these relationships. The group planned to keep these details
constant with the proposed system. One thing that the group also considered while analyzing the
system were the data stores put in place. As shown in the current Level 0 DFD, there are no data stores
except for an excel sheet where stocks are tabulated. This is a big problem for Proudly Green since it
gives them more tasks to verify the eligibility of their stock and sales. This brings us to the second set of
diagrams for the new process with system integration.
The new set of DFD’s Context Level Diagram is nearly the same as the current DFD’s context
level diagram, however, the Level 0 diagrams show the different internal processes that the group has
come up with. In the Level 0, we can see that the problem of data stores have been fixed by putting 3
data stores within the system, namely, the Inventory Database, the Product Database, and the Sales
Records. The Product Database data store contains the details of all the products that the store has sold
or is currently selling. The reason why we have this data store is because the store does not sell the
same products all at the same time. Rather, being a retail store, their products vary from time to time
depending on the supplier, and depending on the season since their products are organic and are mostly
adaptive to the climate. The Product Database keeps track of all those products in order to make sure
their details are well kept. The Inventory Database contains the current stock that the store has on hand,
meaning this data store keeps track of the items that are physically in the store at that point in time. The
Sales Records datastore, lastly, contains the records of sales that they have made in order to keep track
of which products were sold when, in case they need to access it.
Use Cases
The Use Case diagrams show the user restrictions. This shows who had access and which data is
restricted to whom. As shown, the Administrator will have access to all portions of the system. Most
importantly, access to the users. However, the Normal User is not allowed to create/update suppliers, or
delete products for that matter.

UC # Name Definition Actor (User/Admin/Both)

01 Add Product Add a Product for Purchase Both

02 Update Products Edit Product Details Both

03 Delete Products Delete Product Type Admin

04 Dispose Stock Dispose Stock and Increase Both


Cost of Goods Expired.

05 Export Table Saves table into a excel Both


document

06 Edit Profile Change Details of the current Both


user

07 Sell Product Sell Product. Increase Cost of Both


Goods Sold.

08 Update Sales Report Update Sales Details Both

09 Delete Sales Report Delete Sales Details Both

10 Add and Edit Customer Info [UNUSED] Just a list Both

11 Add Purchase Buy stock from suppliers. Both


Increase Stock.

13 Delete Purchase Delete Purchase. Decrease Both


Stock.

14 Add, Update, Delete Add, Edit, Delete Supplier Admin


Suppliers Information

15 Add, Update, Delete Users Add new Users. Password is Admin


the same as Username.
Other Data Flow Diagrams

Proposed CLD with Proudly Green IMS

Level 1 Step 1 of New Process


Level 1 Step 2
Level 1 Step 3
Current Physical Level 0 with no IMS

You might also like