Capstone Virtual Nook Inventory Management System
Capstone Virtual Nook Inventory Management System
Capstone Virtual Nook Inventory Management System
SYSTEM
TITLE PAGE
A Undergraduate Capstone
Virac, Catanduanes
VILLAFUERTE, JOSHUA R.
December 2022
Republic of the Philippines
Catanduanes State University
Virac, Catanduanes
______________________________________________________________________________
We certify that this Undergraduate Capstone is our own work, and to the best of
our knowledge, has not previously been submitted for any course requirement except as
fully acknowledged within the text. Any contribution made to this research work and the
preparation itself has been acknowledged. In addition, we certify that all information,
________________________
JOSHUA R. VILLAFUERTE
________________________
________________________
______________________________
Subject Specialist
_________________________ ________________________
Language Critic Statistician
Republic of the Philippines
Catanduanes State University
Virac, Catanduanes
______________________________________________________________________________
APPROVAL SHEET
ViNook Inventory Management System” passed the Oral Presentation and Evaluation
is hereby approved in partial fulfillment of the requirements for the course CAP102 –
Capstone Project 2.
____________________________
Department Chairperson,
Teacher Education
TABLE OF CONTENTS
TITLE PAGE........................................................................................................................i
EVALUATION..................................................................................................................iii
APPROVAL SHEET..........................................................................................................iv
TABLE OF CONTENTS....................................................................................................v
LIST OF TABLES..............................................................................................................ix
LIST OF FIGURES.............................................................................................................x
CHAPTER 1 INTRODUCTION......................................................................................12
PROJECT CONTEXT...................................................................................................12
OBJECTIVES................................................................................................................14
DEFINITION OF TERMS.............................................................................................15
SYNTHESIS..................................................................................................................20
TECHNICAL BACKGROUND....................................................................................21
Hardware Requirements.............................................................................................21
Software Requirements..............................................................................................22
Data Requirements.....................................................................................................23
METHODOLOGY.........................................................................................................23
CONCEPTUAL FRAMEWORK..................................................................................26
SYSTEM ARCHITECTURE........................................................................................30
EVALUATION..............................................................................................................31
Statistical Tools..........................................................................................................32
SYSTEM FEATURES...................................................................................................35
vii
EVALUATION RESULT..............................................................................................41
IMPLEMENTATION PLAN........................................................................................43
CHAPTER 5 RECOMMENDATION...............................................................................45
SUMMARY...................................................................................................................45
RECOMMENDATIONS...............................................................................................45
REFERENCES..................................................................................................................47
APPENDICES...................................................................................................................50
Login Module.............................................................................................................70
User Module...............................................................................................................70
Inventory Module.......................................................................................................73
Sales Module..............................................................................................................82
Customer Module.......................................................................................................86
Supplier Module.........................................................................................................90
History Module...........................................................................................................95
viii
Password Module.......................................................................................................96
How to Login............................................................................................................103
How to Print.............................................................................................................107
APPENDIX 9 Questionnaire.......................................................................................108
LIST OF TABLES
LIST OF FIGURES
CHAPTER 1
INTRODUCTION
PROJECT CONTEXT
because manually doing it does not improve management quality. Upgrading and
pursuing technology growth enhances the system, and its practical use can simplify
management. It can raise productivity, save time, and improve inventory management.
the need for adequate management of the electronic flow of information between vital
resources as and when they are required while limiting investment in stocks (Tom Jose et
al., 2013). Inventory management assists businesses in indicating which and how much
stock to order at what time. It keeps track of inventory from purchase to sale. The
practice identifies and responds to trends to ensure that there is always enough stock to
fulfil customer orders and that a shortage is properly announced. Inventory management
has a direct impact on a company's capacity to boost customer service, cash flow, and
profitability (Muller, 2019). Monitoring the flow of items into and out of an inventory is
transfers to prevent high or low inventory levels from interfering with business
operations.
businesses with a significant number of daily orders and commodities. The system
monitors inventory levels and order fulfilment times. Thus, this system alerts businesses
The system is intended to provide Virtual Nook with a secure and reliable
inventory management system away from the traditional way of managing inventories
Moreover, the system is very much needed to improve Virtual Nook’s customer
warranty service.
and update data on a daily basis. In consequence, there is a challenge in placing an order
at the right time to the suppliers and how many units of each item must be ordered to
maintain operational efficiencies, and identifying which item must be sold first to prevent
the warranty period from being exceeded. Additionally, identifying which supplier the
items were purchased from for their warranty and its validity is a concern of Virtual
Nook, as they frequently file warranty claims with the wrong supplier. This manner of
14
handling inventory management is rigorous and time-consuming for the cashier and
More so, the system that will be developed is intended to provide reliable, user-
For the Cashier, they will no longer take a lot of time to add new stocks. The
owner has access to adding products, editing products, and updating products. To make
sure that the system proposed will work at its best capacity, it would require further
With the help of a barcode scanner, the inventory management system is capable
of adding and updating products efficiently and identification of products for claiming
warranty service.
System” offers an easier way of handling inventory management for both the cashier and
the owner. In this sense, the cashier and the owner will be able to solve all the
OBJECTIVES
The general objective of the study is to design and develop a system application
that will provide aid to Virtual Nook’s current concerns with inventory management.
To design and develop a system application that will provide aid to Virtual
The inventory management system focuses on monitoring the product's status and
identifying if it requires restocking; if so, the item will receive a system-generated notice
of replenishment. The system will monitor the products from whose supplier came and
determine if the warranty is still valid. The owner will have full control of the system,
including the ability to view, add, edit and update; the cashier will only be allowed to
DEFINITION OF TERMS
Cashier – the person who handles the sales, payments and receipts of ViNook.
FIFO - First in, first out (mostly regarding stock valuation and data storage methods)
follows the natural flow of inventories, with the oldest products sold first.
Virtual Nook (ViNook) – the store where the inventory management system will be
implemented.
CHAPTER 2
RELATED LITERATURE/SYSTEMS
(Sohel & Osman, 2018). One of the crucial business tools that aid in managing all of a
businesses can operate effectively and handle their vast amounts of data. In the past,
when technology and data collection methods were less capable of handling queries,
managing inventories of commercial goods took much work. Many intelligent processes
are now available on the market, assisting business sectors in managing their vast supply
purchasing. One of the best ways to think about the things that improve business
efficiency and give detailed information about the products and their availability before
In the study conducted by Mondol (2021), the smart inventory system aids
old and traditional inventory management working procedures are lethargic and time-
consuming. Many people were involved in the data entry procedure and sat for some time
to manually enter the full inventory details and track the record. Nevertheless, Radio
replacing the entire inventory system with a single intelligent and quick method. RFID is
17
an innovative technology that makes asset tracking and inventory management more
management application using points of sale laravel, the researchers concluded that the
computerized system was anticipated to aid in the preparation of reports and allow for
better control of sales and inventory. The researchers employed the application to
ascertain the entry and exit of stock goods. Lastly, the web application can show a report
on each purchase.
forecasting can be difficult for any organization. It also varies from industry to industry.
In the retail industry, demand varies depending on the purchasing power of the
customers, where there are many different types of goods, such as convenience,
shopping, and luxury goods. In this regard, a smart inventory system is an absolute
necessity. A smart inventory system can keep track of inventory levels and scalability and
provide security and backups. Smart inventory systems are required in the retail industry.
For example, through smart shelves, real-time inventory management has become
possible.
based Point of Sales and Inventory Management System with Replenishment Decision"
for a grocery store to better achieve its goals by remaining customer-focused and
delivering the products and services that the customers want. The system includes a Real-
time Tracking Point of Sale, Inventory, and Sales Management and an upgraded system
for the Grocery Point of Sale, Inventory, and Sales Management. The system enables the
18
administration to manage and track inventory and sales. It can also keep and organize
records based on the desired outcome and create user accounts for security purposes. It
also includes the following features: User-Friendly, CPU-Friendly, Data Safety, Special
Roles and Permissions. The established system used a barcode system integrated with an
inventory management process for product records. The software development and
evaluation demonstrated that the project system performs its intended functions and is an
adequate inventory and sales management system. It was tested in a grocery store and
received a strongly agree rating for usability, functionality, and dependability. The
system also includes an expiration date entry for replenishment decisions and product
quality maintenance. The study concluded that expiration dates must be included in any
inventory system used by companies that sell food; this will benefit not only the food's
analysis, FSN analysis, forecasting inventory, stock-in-charge, FIFO system for stock
keeping unit and LIFO system, Strategic supplier system, Economic ordering quantity
system, Open to buy (OTB) system, Just-in-time system, cycle counting, RFID system,
barcoding system, enterprise resource planning system are the common inventory
strategies improved the financial performance of SMEs in the manufacturing sector over
the study period; this indicates a substantial relationship between inventory management
tactics and financial, namely working capital and return on investment decisions. SMEs
planning and the failure of most SMEs to strike a balance between efficiency and
comprehensive analysis of the literature divided the papers into two groups: those written
operating room and those written by scientists who created optimization techniques.
Additionally, pinpoint the upcoming research lines that will lower the cost of operating
room inventory.
Shahridan et al. (2022) conducted the research entitled "Improving the Inventory
advantages, including reducing errors in goods receipt and accelerating the inventory
management process. The barcode system can also automatically determine the amount
of inventory remaining for each type of items, such as glass and aluminum items,
reducing errors in the storage and making it simple to type and check inventory
quantities. Every process in a warehouse equipped with barcodes can be completed more
quickly and accurately than in a warehouse that still relies on manual labor. To achieve
warehouse management system. The issue that SBT SB deals with is manually recording
the stock of goods. As a result of the barcode system, the process of entering and exiting
was systematically researched and designed. The critical technology of computer image
processing was applied to identify the barcode image and conducted field tests combined
with the actual use scenario. It overcomes the problems caused by environmental factors,
improves the accuracy of barcode information input, and reduces the time cost of single
barcode scanning and recognition. The innovation of crucial functions in the inventory
machine will maximize its role in the inventory process and accumulate experience for
future localization of the inventory industry (Li B. and Liu Y., 2019).
SYNTHESIS
The researchers found that having a reliable inventory management system means
and convenient way of handling data, queries, and product management. With less human
prevents overlooked sales and unattended customer support. IMS benefits the business
owner and its customers because of the streamlined process of claiming a warranty.
21
CHAPTER 3
TECHNICAL BACKGROUND
The development of the proposed system has an important requirement needed for
Visual Studio IDE and MySQL server. Hardware requirements consist of a computer set
or laptop, barcode scanner and printer. Visual Basic .Net was used as the programming
language. Minimum requirements for client hardware and software was determined after
and hardware.
Hardware Requirements
Hardware Specification
Intel Core i3 @
Processor
2.30GHz
Windows 10 64bit
Laptop System Type
operating system
Storage and Type 500GB SSD
RAM 12GB
Barcode Scanner Scan Type Linear CCD (Charge-
22
Coupled-Device)
Supported Barcode Type 1D and 2D
USB wired connection,
Connection Type
plug and play
Any printer that can print at least Letter, Legal and A4
Printer
paper sizes.
Any router that can have access to internet connection
Router
either wireless or wired connection.
Software Requirements
system.
4.7.2
MS Visual C++
2019
Redistributable
Data Requirements
The data that were used in this study are, list of products and their
category, stock details such as how many stocks are available and which supplier
the product is purchased. List of customers and suppliers, and their required
METHODOLOGY
The method that will be used during system development is the Rapid Application
development model that prioritizes rapid prototyping and quick feedback over long-
With rapid application development, developers can make multiple iterations and
updates to software quickly without starting from scratch each time. This helps ensure
that the final outcome is more quality-focused and is in alignment with the end-user’s
requirements (Kissflow, 2022). The development process of this study will consist of four
steps which are as follows: a) Define system requirements; b) Design and develop; c)
This step comprised of an interview with the target client to determine the system
requirements on what will be the major functions or features of the system. And add
additional minor features that will be needed and possible issues that may come up during
the development.
Once the gathered information has been sorted and organized, the researchers
began the design step by building the system algorithms and prototypes. The prototype
includes the system overall design and event actions. In this step, the researchers used
Figma for the creation of the design. The prototype serves as the testing application for
In the development stage the coding has taken place, the researchers used Visual
Studio IDE to develop the prototype into functioning system and all the technical
requirements needed.
25
During this step the researchers demonstrate the functioning system into the
client, and after demonstration the client used the system for testing. If there are changes
on the clients’ testing, this step will go back to design and development step until the
In this step the system will be finalized for the implementation. The researchers
will refactor the code in order to optimize the implementation and improve stability.
CONCEPTUAL FRAMEWORK
The figure below represents the project's conceptual framework. It is based on the
Figure 2 shows that the input consist of hardware, software and data requirements.
These requirements will be used in the process of developing the system. The hardware
requirements consist of laptop, barcode scanner, printer and router. For the software
MySQL Server, Visual Studio IDE, Crystal Reports Runtime Engine, Mail Server, Dot
Net Framework 4.7.2 and MS Visual C++ Redistributable. The data requirements consist
of products and their information, category, customers and their information, suppliers
27
and their information. These requirements are prerequisites in order to develop and make
the system function. In the development process, the researchers used the Rapid
implementation. Lastly the project output will be the ViNook Inventory Management
System.
Figure 3 shows the use case diagram of the system. Use case diagram is one of the
requirements in software development that will give visual representation on how the
system will function. The above figure shows two entities which are the administrator or
owner, and the user or the cashier employee that can access the inventory. The owner has
full control over the system whereas the user is only given specific access.
The figure above shows the overall process of the system. It shows the interaction
between two major users which is the owner and the cashier. Both the user has the same
interaction with the system but with the cashier having limited access to perform data
SYSTEM ARCHITECTURE
Figure 5 shows the system architecture, the architecture consists of the client
computer, barcode scanner, printer, router, internet connection and mail server. The
system installed in the client is a standalone application. The architecture will function as
follows:
The client computer will be the one performing operations on the system operated
by the user.
The barcode scanner will be used to scan the products Universal Product Code
and Serial Number, the scanned data will then be transferred to the system in the
client computer.
The printer will be used to print out reports generated by the system based on the
The router, internet connection, mail server and email recipient will only be used
when the user requested a password reset, the system will connect to the internet
and generate a verification code that will be sent to the user email address.
EVALUATION
Before the start of the study, the researchers interviewed the owner to
know the problems they encountered in their manual inventory management. The
researchers asked questions and explained the purpose and importance of the
study. The researchers assured and told the respondents that all information to be
The respondents of the study are the owner and cashier of Virtual Nook.
The researchers selected these respondents for the reason that they will be the
ones who will use and benefit from using the system. The total size of the
Statistical Tools
The researchers will use the Likert scale to evaluate the system in terms of
functionality and usability. Likert scale (typically) provides five possible answers
and excellent respectively. The above criteria will be used to evaluate the
system’s functionality and usability. The mean range was computed using the
following formula:
Gap = 4/5
Gap = 0.80
32
The information that will be provided by users would be treated with the utmost
confidentiality.
The system will use words or phrases that are respectful in the eyes of the users.
The system will be created carefully and will not damage any intellectual
property.
Health and safety strive to provide each employee with a safe and healthy work
environment.
33
CHAPTER 4
The main goal of this study is to provide aid by developing a system to overcome
Virtual Nook’s current concerns with inventory management. The system will enable
Virtual Nook to keep track of its products and replenish on time, as well as which
suppliers the products was bought from in order to file accurate warranty claims, and
The main user interface consists of header, navigation menu, and the content of
the system. In the header, it consists of the store logo, module title, warning notice, and
user controls – minimize, maximize or close application – the warning notice shows the
number of products that are low on stock, the notice is available in every page. In the
user profile, history and logout button. In the body, the displayed content will depend on
The following are the modules and their functions in the system:
Login Module – This module validates the users that log in to the system.
34
User Module – This module contains the personal information of the logged in user.
They can update their basic information as well as change their password.
Inventory Module – This module contains the product lists and their information. In this
module the user can view, add, edit or print stock list and view report.
Sales Module – This module contains the record of sold products. The user can view the
sold products information and date sold. The user can also print the report of sales list.
Customer Module – This module contains the list of customers purchased in the store
and their basic information. The user can also print the customers list.
Supplier Module – This module contains the list suppliers that provide products and
their basic information. The user can also print the suppliers list.
History Module – This module contains the actions performed by the user such as
adding and updating data. The changes made by the user is saved along with the date of
Password Module – This module will be used when the user requests a password reset.
SYSTEM FEATURES
The features of the ViNOOK IMS revolves around the inventory of the products
Figure 6 is the user interface for the inventory page. The features that are
available here are view, store and update product information and print product or stock
list.
36
Figure 7 is the user interface for sales page. The features here are view and store
sales record, the process of decreasing the stock in the system is when a customer
Figure 8 shows the user interface for customers list, suppliers list and product
categories respectively. The features here are view, store and update customer and
Figure 9 is the user interface for account page. Here, the logged in user can update
Figure 10 is the user interface for the history page, this page shows what
Figure 11 is the user interface when resetting the password, the user will enter
their email and verification code that was sent in their email in order to reset their
password.
EVALUATION RESULT
The results of the user’s evaluation of the system are tallied in the following
tables to arrive at the overall result. The researchers conducted the evaluation in Virtual
Nook with the corresponding respondents which is the owner and the cashier, in which
each used the system for testing, with the researchers, presented a demonstration on how
the system works especially the major functions that they needed to be in the system.
Very Very
Excellent Satisfactory Unsatisfactory No. of
FUNCTIONALITY (5)
Satisfactory
(3) (2)
Unsatisfactory
Respondents
Mean Interpretation
(4) (1)
The system has
the suitable set of
functions in 2 2 5 Excellent
accordance with
its objectives
The system has
secure access
2 2 5 Excellent
through the use of
password.
The system
interacts with the
2 2 5 Excellent
specified modules
as intended
The system
displays precise 2 2 5 Excellent
results
The system’s
ability to reset
password on user
request through
1 1 2 4.5 Excellent
verification code
using the email
address provided
in their account
Grand Mean 4.9 Excellent
42
Table 5 shows the evaluation results of the system functionality done by the
owner and the cashier with the grand mean of 4.9 which interprets as “Excellent”. It can
be observed that all of the system functionality obtained the same highest mean of 5
except for the ability to reset password through verification code using email address
which obtained the mean of 4.5. Overall, the system functionality obtained an excellent
rating.
Very Very
Excellent Satisfactory Unsatisfactory No. of
USABILITY (5)
Satisfactory
(3) (2)
Unsatisfactory
Respondents
Mean Interpretation
(4) (1)
The system
has a user-
2 2 5 Excellent
friendly
interface
The system
occupied
memory is
2 2 5 Excellent
within the
given
requirement
The system is
responsive on 2 2 5 Excellent
user request
The system
provides a
message
2 2 5 Excellent
dialog when
performing
operations
Grand Mean 5 Excellent
Table 6 shows the evaluation results of the system usability done by the owner
and the cashier with the grand mean of 5 which interprets as “Excellent”.
43
IMPLEMENTATION PLAN
The implementation plan is the document that outlines the steps that must be
This means that the researchers created an installer in order for the system to be installed
on the client computer. The researchers must make sure that the target computer meets all
Barcode Scanner
Printer
MySQL Server
When all these requirements are met by the client computer the system can now be
installed. The users (owner / cashier) can start the system either from the desktop shortcut
CHAPTER 5
RECOMMENDATION
This chapter provides the summary and recommendations for the whole study.
SUMMARY
The main goal of this study was to provide aid by developing a system to
overcome Virtual Nook’s current concerns with inventory management. The system
enabled Virtual Nook to keep track of its products and replenish on time, as well as
which suppliers the products was bought from in order to file accurate warranty claims,
(RAD) methodology. RAD focuses on prototyping and testing of the system, which is
why it was used in this study for the reason of having a limited time to develop the
system.
RECOMMENDATIONS
Add a photo and signature of customer for basic information required to help law
Add a customer order request through online by integrating the application to web
REFERENCES
Bhattacharyya, A., Chanu, A., & Dutta, S. (2022). A Study On Inventory Management
https://journalppw.com/index.php/jpsp/article/view/12280
Sohel. S., & Bin Osman., A. (2018) "Impact of Supply Chain Drivers on Retail Supply
Mondol, E. P. (2021). The Impact of Block Chain and Smart Inventory System on Supply
https://doi.org/10.54489/ijcim.v1i1.30
Kambivi, H., Junirianto, E., & Fadhliyah, NR. (2020). Development of Inventory
https://scholar.google.com/scholar?
q=related:gHeyMvdwkH4J:scholar.google.com/
&hl=en&as_sdt=0,5#d=gs_qabs&t=1667524524898&u=%23p
%3DgHeyMvdwkH4J
Liu W., Wang S., Lin Y., Xie D., Zhang J. (2020) Effect of intelligent logistics
137
48
Panganiban, E., & Bermusa, J. (2020). Simplified Barcode-Based Point Of Sales And
https://www.researchgate.net/profile/Edward-Panganiban/publication/
363796625_Simplified_Barcode-
Based_Point_Of_Sales_And_Inventory_Management_System_With_Replenishm
ent_Decision/links/632e3cb786b22d3db4d9d381/Simplified-Barcode-Based-
Point-Of-Sales-And-Inventory-Management-System-With-Replenishment-
Decision.pdf
Social Sciences, 1.
https://www.researchgate.net/publication/360699621_IMPROVING_THE_INVE
NTORY_MANAGEMENT_SYSTEM_AT_SHAMS_BEST_TECHNIC_SDN_B
HD_BY_IMPLEMENTING_BARCODE_SYSTEM
Li Bing and Liu Yang 2019 IOP Conf. Ser.: Mater. Sci. Eng. 563 042092
www.simplypsychology.org/likert-scale.html
49
5-Point Likert scale: The key to easily understanding your audience. (n.d.). Ombea®.
https://www.ombea.com/resources/articles/5-point-likert-scale-the-key-to-easily-
understanding-your-audience
https://www.researchgate.net/figure/Gap-widths-of-quintet-likert-scale-Source-
Author_tbl1_319322734
APPENDICES
Title 2. _________________________________________________________________
Title 3. _________________________________________________________________
Submitted by:
Albao, Hannah Isobelle J.
Vargas, Dyn Ryk A.
Villafuerte, Joshua R.
Candidate
BS INFORMATION TECHNOLOGY
Program
Action of Thesis / Dissertation Specialization Committee
(Please affix signature on the preferred title)
Specialization Committee Title 1 Title 2 Title 3
Chairperson:
Members:
1.
2.
3.
As a result of this considering their concerns, our group will develop and
implement an inventory management system. The systems primary objective is to solve
Virtual Nook current concerns and to assist them.
The undersigned accepts the advisor ship for the dissertation/thesis writing and
defense effort of and
hereby commits to provide the necessary encouragement, guidance and direction for the
candidate’s successful completion of his/her dissertation/thesis work.
Task Mar Apr May June July Aug Sept Oct Nov Dec
Project Proposal
Writing Manuscript
System Development
The ViNOOK IMS was implemented in a single client computer. This means that
the researchers created an installer in order for the system to be installed on the client
computer. The researchers made sure that the target computer meets all the requirements
Barcode Scanner
Printer
MySQL Server
When all these requirements are met by the client computer the system can now
be installed. The users (owner / cashier) can start the system either from the desktop
1. The researchers conducted the evaluation on the client’s hardware if it meets the
3. The researchers installed all the software requirements needed to run the system.
4. The researchers used the ViNOOK IMS installer to implement the system.
Figure 13 is the user interface for the login form. The user will enter their
credentials such as the username and password in order to login to the system.
Figure 14 shows the user interface when resetting password if forgotten. First the
user will enter email which is saved in the account information and enter the verification
code that will be sent to the email after clicking the sent verification code button. If the
email and code entered are correct the user can now enter the new password.
Figurer 15 shows the user interface for the inventory page. This is the page where
Figure 15A is where the user will add the new stock along with its specifications
or details by scanning the product code and serial number of the product.
Figure 15B is where the user will add new product if the product has not been
Figure 15C shows the graphical report of the stocking. The stocks list will be
shown below along their statistics of how many available stocks and how many of them
are sold.
60
Figure 16 shows the user interface for the sales page. All the sales will be listed
here.
Figure 16A and 16B is where the user will add and save the new order.
Figure 16C shows the sales graphical report. The top sold products and how many
Figure 17 is the user interface for the customers page, the list of the customers
will be shown here as well a simple graph of which customer always buy in the store.
63
Figure 17A and 17B is where the user will add and update customer details.
64
Figure 18 is the user interface for the supplier’s page, the suppliers list is shown
here as well as a simple graph of which supplier has supplied the store the most.
Figure 18A and 18B is where the user will add and update new supplier details.
Figure 19 is the user interface for product categories, all the product categories is
listed here as well as a simple graph of which categories has the most sold products.
Figure 20 is the user interface for the user account details, here the user will be
Figure 21 shows the operation history of the user in the system such as adding and
updating data.
The following figures below shows the report list or print preview of the selected module:
Login Module
User Module
If com.ExecuteNonQuery = 1 Then
funcHistory.addToHistory(modelHistory)
Return True
Else
Return False
End If
Catch ex As MySqlException
MessageBox.Show("Error: " & ex.Message, "System Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
Return False
Finally
closeConnection()
End Try
End Function
_content = user.username & Environment.NewLine & _firstName & _lastName & _phone & _email &
_address
_newContent = new_firstName & new_lastName & new_phone & new_email & new_address
If com.ExecuteNonQuery = 1 Then
funcHistory.addToHistory(modelHistory)
Return True
Else
Return False
End If
Catch ex As MySqlException
MessageBox.Show("Error: " & ex.Message, "Update Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
Return False
Finally
closeConnection()
End Try
End Function
user.username = reader("username")
user.firstname = reader("first_name")
user.lastname = reader("last_name")
user.name = user.firstname & " " & user.lastname
user.phone = reader("phone").ToString
user.email = reader("email").ToString
user.address = reader("address").ToString
If reader("role") = 0 Then
user.role = "Administrator"
ElseIf reader("role") = 1 Then
user.role = "Cashier"
End If
End If
Catch ex As MySqlException
MessageBox.Show("Error: " & ex.Message, "Account Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
Finally
reader.Close()
closeConnection()
End Try
End Sub
Inventory Module
Dim que As String = "update products set quantity=(select sum(quantity) from products_detail where
product_id=@id and not deleted), on_hand=(select sum(on_hand) from products_detail where product_id=@id
and not deleted) " &
"where product_id=@id"
com = New MySqlCommand(que, connection)
With com
.Parameters.Add("@id", MySqlDbType.Int64).Value = inventory.productid
End With
If com.ExecuteNonQuery = 1 Then
Return True
Else
Return False
End If
Catch ex As MySqlException
MessageBox.Show("Error: " & ex.Message, "System Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
Return False
Finally
closeConnection()
End Try
End Function
_content = _itemCode & _name & _brand & _model & _category & _unit & _price
_newContent = new_itemCode & new_name & new_brand & new_model & new_category & new_unit
& new_price
If com.ExecuteNonQuery = 1 Then
funcHistory.addToHistory(modelHistory)
Return True
Else
Return False
End If
76
Catch ex As MySqlException
MessageBox.Show("Error: " & ex.Message, "System Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
Return False
Finally
closeConnection()
End Try
End Function
inventory.created_at = Date.Now
Dim que As String = "insert into products (item_code, _name, brand, model, category_id, unit, price,
created_at, updated_at) " &
"values(@code, @name, @brand, @model, @category, @unit, @price, @created, @updated)"
com = New MySqlCommand(que, connection)
With com
.Parameters.Add("@code", MySqlDbType.VarChar).Value = inventory.itemcode
.Parameters.Add("@name", MySqlDbType.VarChar).Value = inventory.name
.Parameters.Add("@brand", MySqlDbType.VarChar).Value = inventory.brand
.Parameters.Add("@model", MySqlDbType.VarChar).Value = inventory.model
.Parameters.Add("@category", MySqlDbType.Int64).Value = inventory.category
.Parameters.Add("@unit", MySqlDbType.VarChar).Value = inventory.unit
.Parameters.Add("@price", MySqlDbType.Decimal).Value = inventory.price
.Parameters.Add("@created", MySqlDbType.DateTime).Value = inventory.created_at
.Parameters.Add("@updated", MySqlDbType.DateTime).Value = inventory.created_at
End With
_content = _itemCode & _name & _brand & _model & _category & _unit & _price
Dim modelHistory As New historyModel(session_username, "CREATE", "PRODUCT", _content,
inventory.created_at)
Dim funcHistory As New historyFunction
If com.ExecuteNonQuery = 1 Then
funcHistory.addToHistory(modelHistory)
Return True
Else
Return False
End If
Catch ex As MySqlException
MessageBox.Show("Error: " & ex.Message, "System Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
Return False
Finally
closeConnection()
End Try
End Function
Try
openConnection()
inventory.updated_at = Date.Now
com.ExecuteNonQuery()
Return True
Catch ex As MySqlException
MessageBox.Show("Error: " & ex.Message, "System Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
Return False
Finally
closeConnection()
End Try
End Function
openConnection()
inventory.created_at = Date.Now
Dim que As String = "insert into products_detail (product_id, serial_number, at_cost, date_in,
supplier_id, _status, reference, created_at, updated_at) " &
"values(@id, @serial, @cost, @datein, @supplier, @status, @reference, @created,
@updated)"
com = New MySqlCommand(que, connection)
With com
.Parameters.Add("@id", MySqlDbType.Int64).Value = inventory.productid
.Parameters.Add("@serial", MySqlDbType.VarChar).Value = inventory.serialnumber
.Parameters.Add("@cost", MySqlDbType.Decimal).Value = inventory.atCost
'.Parameters.Add("@quantity", MySqlDbType.Int64).Value = inventory.quantity
'.Parameters.Add("@onhand", MySqlDbType.Int64).Value = inventory.onhand
.Parameters.Add("@datein", MySqlDbType.DateTime).Value = inventory.created_at
.Parameters.Add("@supplier", MySqlDbType.VarChar).Value = inventory.supplier
.Parameters.Add("@status", MySqlDbType.VarChar).Value = inventory.status
.Parameters.Add("@reference", MySqlDbType.VarChar).Value = Format(Date.Now,
"yyyyMMddHHmmss")
.Parameters.Add("@created", MySqlDbType.DateTime).Value = inventory.created_at
.Parameters.Add("@updated", MySqlDbType.DateTime).Value = inventory.created_at
End With
_content = _productID & _name & _serialNumber & _atCost & _quantity & _supplier
Dim modelHistory As New historyModel(session_username, "ADD", "STOCK", _content,
inventory.created_at)
Dim funcHistory As New historyFunction
funcHistory.addToHistory(modelHistory)
Return True
Catch ex As MySqlException
MessageBox.Show("Error: " & ex.Message, "System Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
Return False
Finally
closeConnection()
End Try
End Function
reader = com.ExecuteReader(CommandBehavior.CloseConnection)
dgv.Rows.Clear()
inventory.itemcode = reader("item_code")
inventory.name = reader("_name")
inventory.brand = reader("brand")
inventory.model = reader("model")
inventory.category = reader("category_id")
inventory.categoryname = reader("category")
inventory.quantity = reader("quantity")
inventory.onhand = reader("on_hand")
inventory.unit = reader("unit")
inventory.price = reader("price")
End If
Catch ex As MySqlException
MessageBox.Show("Error: " & ex.Message, "System Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
Finally
reader.Close()
closeConnection()
End Try
End Sub
reader = com.ExecuteReader(CommandBehavior.CloseConnection)
dgv.Rows.Clear()
Sales Module
order.created_at = Date.Now
Dim que As String = "insert into orders_detail (transaction_code, serial_number, _name, brand, model,
category, supplier, quantity, unit, price, total, warranty_start, warranty_end, product_id, created_at, updated_at) "
&
"values (@code, @serial, @name, @brand, @model, @category, @supplier, @quantity,
@unit, @price, @total, @warrantyStart, @warrantyEnd, @product_id, @created, @updated)"
com = New MySqlCommand(que, condb)
With com
.Parameters.Add("@code", MySqlDbType.Int64).Value = order.transactionCode
.Parameters.Add("@serial", MySqlDbType.VarChar).Value = order.serialnumber
.Parameters.Add("@name", MySqlDbType.VarChar).Value = order.productname
.Parameters.Add("@brand", MySqlDbType.VarChar).Value = order.productbrand
.Parameters.Add("@model", MySqlDbType.VarChar).Value = order.productmodel
.Parameters.Add("@category", MySqlDbType.VarChar).Value = order.productcategory
.Parameters.Add("@supplier", MySqlDbType.VarChar).Value = order.suppliername
.Parameters.Add("@quantity", MySqlDbType.Int64).Value = order.quantity
.Parameters.Add("@unit", MySqlDbType.VarChar).Value = order.unit
.Parameters.Add("@price", MySqlDbType.Decimal).Value = order.price
.Parameters.Add("@total", MySqlDbType.Decimal).Value = order.total
.Parameters.Add("@warrantyStart", MySqlDbType.Date).Value = order.warrantystart
.Parameters.Add("@warrantyEnd", MySqlDbType.Date).Value = order.warrantyend
.Parameters.Add("@product_id", MySqlDbType.Int64).Value = order.productid
.Parameters.Add("@created", MySqlDbType.DateTime).Value = order.created_at
.Parameters.Add("@updated", MySqlDbType.DateTime).Value = order.created_at
End With
If com.ExecuteNonQuery = 1 Then
Return True
Else
Return False
End If
Catch ex As MySqlException
MessageBox.Show("Error: " & ex.Message, "System Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
Return False
Finally
closeConnection()
End Try
End Function
openConnection()
order.created_at = Date.Now
Dim que As String = "insert into orders (transaction_code, invoice_no, order_date, customer,
total_amount, balance, received_amount, _change, payment_type, cheque_no, pay_status, created_at,
updated_at) " &
"values (@code, @invoice, @orderDate, @customer, @total, @balance, @received,
@change, @payment_type, @cheque_no, @paystatus, @created, @updated)"
com = New MySqlCommand(que, condb)
With com
.Parameters.Add("@code", MySqlDbType.Int64).Value = order.transactioncode
.Parameters.Add("@invoice", MySqlDbType.Int64).Value = order.invoice
.Parameters.Add("@orderDate", MySqlDbType.DateTime).Value = order.created_at 'order_date
.Parameters.Add("@customer", MySqlDbType.Int64).Value = order.customerid
.Parameters.Add("@total", MySqlDbType.Decimal).Value = order.totalamountdue
.Parameters.Add("@balance", MySqlDbType.Decimal).Value = order.balance
.Parameters.Add("@received", MySqlDbType.Decimal).Value = order.received_amount
.Parameters.Add("@change", MySqlDbType.Decimal).Value = order.change
.Parameters.Add("@payment_type", MySqlDbType.VarChar).Value = order.paymenttype
.Parameters.Add("@cheque_no", MySqlDbType.VarChar).Value = order.cheque_no
.Parameters.Add("@paystatus", MySqlDbType.VarChar).Value = order.paystatus
.Parameters.Add("@created", MySqlDbType.DateTime).Value = order.created_at
.Parameters.Add("@updated", MySqlDbType.DateTime).Value = order.created_at
End With
_content = _transactionCode & _invoice & _customerID & _totalAmountDue & _received_amount &
_paymentType & _cheque_no
Dim modelHistory As New historyModel(session_username, "CREATE", "ORDER", _content,
order.created_at)
Dim funchistory As New historyFunction
If com.ExecuteNonQuery = 1 Then
funchistory.addToHistory(modelHistory)
Return True
Else
Return False
End If
Catch ex As MySqlException
MessageBox.Show("Error: " & ex.Message, "System Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
Return False
Finally
closeConnection()
End Try
End Function
#End Region
84
Try
openConnection()
Dim que As String = "select order_detailID, serial_number, _name, brand, model, category, supplier,
quantity, unit, price, total, warranty_start, warranty_end " &
"from orders_detail " &
"where (serial_number like @serial Or _name like @name Or concat(brand, ' ', model) like
@bmodel) and transaction_code=@code and not deleted order by order_detailID"
com = New MySqlCommand(que, condb)
With com
.Parameters.Add("@code", MySqlDbType.Int64).Value = transactionCode
.Parameters.Add("@serial", MySqlDbType.VarChar).Value = "%" & search & "%"
.Parameters.Add("@name", MySqlDbType.VarChar).Value = "%" & search & "%"
.Parameters.Add("@bmodel", MySqlDbType.VarChar).Value = "%" & search & "%"
End With
reader = com.ExecuteReader(CommandBehavior.CloseConnection)
dgv.Rows.Clear()
Do While reader.Read = True
dgv.Rows.Add(reader(0), reader(1), reader(2), reader(3), reader(4), reader(5), reader(6), reader(7),
reader(8), reader(9), reader(10), reader(11), reader(12))
Loop
Catch ex As MySqlException
MessageBox.Show("Error: " & ex.Message, "System Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
Finally
reader.Close()
closeConnection()
End Try
End Sub
End Sub
Customer Module
customer.updated_at = Date.Now
Dim que As String = "update customers set _name=@name, address=@address, phone=@phone,
tinID=@tinid, updated_at=@updated_at " &
"where customer_id=@id"
com = New MySqlCommand(que, condb)
With com
.Parameters.Add("@id", MySqlDbType.Int64).Value = customer.id
.Parameters.Add("@name", MySqlDbType.VarChar).Value = customer.name
.Parameters.Add("@address", MySqlDbType.VarChar).Value = customer.address
.Parameters.Add("@phone", MySqlDbType.VarChar).Value = customer.phone
.Parameters.Add("@tinid", MySqlDbType.LongText).Value = customer.tin_id
.Parameters.Add("@updated_at", MySqlDbType.DateTime).Value = customer.updated_at
End With
customer.tin_id = "None"
End If
_tinID = "TIN ID: " & trackCustomer_tinID
new_tinID = "TIN ID: " & customer.tin_id
End If
If com.ExecuteNonQuery = 1 Then
funcHistory.addToHistory(modelHistory)
Return True
Else
Return False
End If
Catch ex As MySqlException
MessageBox.Show("Error: " & ex.Message, "System Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
Return False
Finally
closeConnection()
End Try
End Function
If com.ExecuteNonQuery = 1 Then
funcHistory.addToHistory(modelHistory)
Return True
Else
Return False
End If
Catch ex As MySqlException
MessageBox.Show("Error: " & ex.Message, "System Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
Return False
Finally
closeConnection()
End Try
End Function
Using connection()
openConnection()
Using command As New MySqlCommand
With command
.Connection = connection()
.CommandText = "select distinct _name,
(select count(customer)
from orders
where orders.customer=customers.customer_id) as OrderCount
from customers
inner join orders on customers.customer_id=orders.customer
where not orders.deleted
order by OrderCount desc, order_date
limit 5;"
End With
Using dataReader As MySqlDataReader = command.ExecuteReader
While dataReader.Read
topCustomerList.Rows.Add(dataReader(0).ToString, Convert.ToInt64(dataReader(1)))
End While
End Using
With command
.CommandText = "select count(customer_id) as TotalCustomer
from customers where not deleted;"
End With
totalCustomer = Convert.ToInt64(command.ExecuteScalar)
89
End Using
closeConnection()
End Using
Return topCustomerList
End Function
reader = com.ExecuteReader(CommandBehavior.CloseConnection)
dgv.Rows.Clear()
Supplier Module
supplier.updated_at = Date.Now
Dim que As String = "update suppliers set _name=@name, address=@address, phone=@phone,
email=@email, other_details=@otherdetails, updated_at=@updated_at " &
"where supplier_id=@id"
com = New MySqlCommand(que, condb)
With com
.Parameters.Add("@id", MySqlDbType.Int64).Value = supplier.supplierid
.Parameters.Add("@name", MySqlDbType.VarChar).Value = supplier.name
.Parameters.Add("@address", MySqlDbType.VarChar).Value = supplier.address
.Parameters.Add("@phone", MySqlDbType.VarChar).Value = supplier.phone
.Parameters.Add("@email", MySqlDbType.VarChar).Value = supplier.email
.Parameters.Add("@otherdetails", MySqlDbType.LongText).Value = supplier.other_details
.Parameters.Add("@updated_at", MySqlDbType.DateTime).Value = supplier.updated_at
End With
tracking_Supplierphone = "None"
End If
If supplier.phone = "" Then
supplier.phone = "None"
End If
phone = "Phone: " & tracking_Supplierphone & Environment.NewLine
new_phone = "Phone: " & supplier.phone & Environment.NewLine
End If
If String.Equals(tracking_Supplieremail, supplier.email) Then
email = ""
Else
If tracking_Supplieremail = "" Then
tracking_Supplieremail = "None"
End If
If supplier.email = "" Then
supplier.email = "None"
End If
email = "Email: " & tracking_Supplieremail & Environment.NewLine
new_email = "Email: " & supplier.email & Environment.NewLine
End If
If String.Equals(tracking_SupplierotherDetails, supplier.other_details) Then
otherDetails = ""
Else
If tracking_SupplierotherDetails = "" Then
tracking_SupplierotherDetails = "None"
End If
If supplier.other_details = "" Then
supplier.other_details = "None"
End If
otherDetails = "Other Details: " & tracking_SupplierotherDetails
new_otherDetails = "Other Details: " & supplier.other_details
End If
content = name & address & phone & email & otherDetails
_newContent = new_name & new_address & new_phone & new_email & new_otherDetails
Dim modelHistory As New historyModel(session_username, "UPDATE", "SUPPLIER", content,
_newContent, supplier.updated_at)
Dim funcHistory As New historyFunction
If com.ExecuteNonQuery = 1 Then
funcHistory.addToHistory(modelHistory)
Return True
Else
Return False
End If
Catch ex As MySqlException
MessageBox.Show("Error: " & ex.Message, "System Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
Return False
Finally
closeConnection()
End Try
End Function
openConnection()
supplier.created_at = Date.Now
Dim que As String = "insert into suppliers (_name, address, phone, email, other_details, created_at,
updated_at) " &
"values(@name, @address, @phone, @email, @otherdetails, @created, @updated)"
com = New MySqlCommand(que, condb)
With com
.Parameters.Add("@name", MySqlDbType.VarChar).Value = supplier.name
.Parameters.Add("@address", MySqlDbType.VarChar).Value = supplier.address
.Parameters.Add("@phone", MySqlDbType.VarChar).Value = supplier.phone
.Parameters.Add("@email", MySqlDbType.VarChar).Value = supplier.email
.Parameters.Add("@otherdetails", MySqlDbType.LongText).Value = supplier.other_details
.Parameters.Add("@created", MySqlDbType.DateTime).Value = supplier.created_at
.Parameters.Add("@updated", MySqlDbType.DateTime).Value = supplier.created_at
End With
content = name & address & phone & email & otherDetails
Dim modelHistory As New historyModel(session_username, "CREATE", "SUPPLIER", content,
supplier.created_at)
Dim funcHistory As New historyFunction
If com.ExecuteNonQuery = 1 Then
funcHistory.addToHistory(modelHistory)
Return True
Else
Return False
End If
Catch ex As MySqlException
MessageBox.Show("Error: " & ex.Message, "System Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
Return False
Finally
93
closeConnection()
End Try
End Function
Using connection()
openConnection()
Using command As New MySqlCommand
With command
.Connection = connection()
.CommandText = "select _name,
(select count(quantity) from products_detail
where products_detail.supplier_id=suppliers.supplier_id
and not products_detail.deleted) as numProducts
from suppliers
order by numProducts desc
limit 5;"
End With
Using dataReader As MySqlDataReader = command.ExecuteReader
While dataReader.Read
topSupplierList.Rows.Add(dataReader(0).ToString, Convert.ToInt64(dataReader(1)))
End While
End Using
With command
.CommandText = "select count(supplier_id) as TotalSuppliers
from suppliers where not deleted;"
End With
totalSuppliers = Convert.ToInt64(command.ExecuteScalar)
End Using
closeConnection()
End Using
Return topSupplierList
End Function
Catch ex As MySqlException
MessageBox.Show("Error: " & ex.Message, "System Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
94
Return False
Finally
reader.Close()
closeConnection()
End Try
End Function
'view
Public Sub getSupplierDetails(supplier As supplierModel)
Try
openConnection()
Dim que As String = "select supplier_id, _name, address, phone, email, other_details from suppliers " &
"where supplier_id=@id"
com = New MySqlCommand(que, condb)
com.Parameters.Add("@id", MySqlDbType.Int64).Value = supplier.supplierid
reader = com.ExecuteReader(CommandBehavior.CloseConnection)
If reader.Read = True Then
supplier.supplierid = reader(0)
supplier.name = reader(1)
supplier.address = reader(2)
supplier.phone = reader(3).ToString
supplier.email = reader(4).ToString
supplier.other_details = reader(5).ToString
End If
Catch ex As MySqlException
MessageBox.Show("Error: " & ex.Message, "System Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
Finally
reader.Close()
closeConnection()
End Try
End Sub
reader = com.ExecuteReader(CommandBehavior.CloseConnection)
dgv.Rows.Clear()
History Module
Password Module
Catch ex As MySqlException
MessageBox.Show("Error: " & ex.Message, "Email Verify Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
Return False
Finally
reader.Close()
97
closeConnection()
End Try
End Function
Catch ex As MySqlException
MessageBox.Show("Error: " & ex.Message, "Recovery Update Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
Finally
closeConnection()
End Try
End Sub
Try
openConnection()
Dim que As String = "select username from user_accounts where email=@email"
com = New MySqlCommand(que, condb)
With com
.Parameters.Add("@email", MySqlDbType.VarChar).Value = email
End With
reader = com.ExecuteReader(CommandBehavior.CloseConnection)
If reader.Read = True Then
session_username = reader("username")
End If
Catch ex As MySqlException
MessageBox.Show("Error: " & ex.Message, "Account Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
Finally
reader.Close()
closeConnection()
End Try
End Sub
Else
Return False
End If
Catch ex As MySqlException
MessageBox.Show("Error: " & ex.Message, "Recovery Verify Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
Return False
Finally
reader.Close()
closeConnection()
End Try
End Function
If com.ExecuteNonQuery = 1 Then
funcHistory.addToHistory(modelHistory)
Return True
Else
Return False
End If
Catch ex As MySqlException
MessageBox.Show("Error: " & ex.Message, "System Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
Return False
Finally
closeConnection()
End Try
End Function
#End Region
100
Figure 27 shows the database design of the ViNOOK IMS. The database server
used is MySQL. The database consists of ten tables namely: user_accounts, sys_history,
customers.
The user accounts table is where the user information will be stored, sys history
will store all the system operation that was done in the system. Units table will store the
units available such as pieces. Products and products details will store the product
information and stock information. Suppliers table will store the supplier’s information.
Categories table will store the product categories. Orders and order details table will store
the sales record of the products. Customers table will store the customers information.
102
Key Description
Esc Closing an active window.
F5 Refresh
CTRL+N Add New
Can be used in any page that
requires adding data
F10 Save
CTRL+P Print
CTRL+E Select or focus to the search box
Shortcut Key in Adding Order
F2 Add item / product
F3 Remove selected item / product
F4 Advanced item / product search, or
Choose customer when saving the order
1. The application can be started either from the desktop shortcut or start menu
shortcut
o Start application from desktop: look for the icon with the title or
o Start application from start menu: Press the windows logo and search for
the name ViNOOK IMS in the search bar or scroll the start menu items
103
and look for the folder name ViNOOK Inventory then select the ViNOOK
How to Login
2. Enter the username and password in their specific fields in the login form
1. Click the forgot password in the login form, below the login button
2. Enter your email address that you used in your account details and press the send
verification code and wait until confirmation that the email was sent
104
3. After receiving the verification enter the code received in the verification code
4. after submitting the verification code if valid you can now change your password
1. In the inventory page, click the menu button and choose “Add New Stock” or
2. Scan or type in the product code, if the fields are not populated with data that
means the stock that you are trying to enter is not yet added to the product list.
a. Click the “Add Product” link to open the page for adding the product
details.
b. Scan or type in the product code and enter all the details required and
3. Scan or type in the product serial number and enter all the details required such as
4. Click the save button or press the F10 key in your keyboard.
1. In the sales page press CTRL+N or New Order button in the menu bar.
3. Scan the product serial number and choose the quantity of the product.
a. Check the warranty if warranty is available and choose how many months
4. Press F2 key or Add Item button to add the item or product in the order list.
5. Press F10 or Save Order button to save the current order transaction.
a. Enter the amount received from the customer and choose the payment type
the transaction.
i. If the customer is not listed in the existing customer list, add the
button.
c. Press F10 or Save Order button to completely save the order transaction.
1. In the customer page, press add new customer button or press the shortcut key
CTRL+N.
1. In the supplier page, press add new supplier button or press the shortcut key
CTRL+N.
1. In the product categories page, press add new category button or press the
2. Enter the old password, and enter the new password and type in again the new
password to confirm and click update button or F10 key to commit the change.
1. In the user interface of the selected module click the edit button in the action
How to Print
Press the print button in the menu bar or press the shortcut key to print the data in
the selected module. This applies to every page that has printing available.
108
APPENDIX 9 Questionnaire
Dear Respondent,
data collection. With your participation the researchers will be able to know the
Functionality and Usability of their capstone. We will ensure that all information
Name: ___________________________________
Address: _________________________________
Instructions: Please indicate your evaluation of the ViNOOK IMS’s functionality and
Very
Unsatisfactory
FUNCTIONALITY Excellent (5) Very Satisfactory (4) Satisfactory (3) Unsatisfactory
(2)
(1)
The system has the
suitable set of
functions in
accordance with its
objectives
The system has
secure access
through the use of
password.
The system interacts
with the specified
modules as intended
109
DEVELOPMENT
111
112
PERSONAL INFORMATION
Sex: Male
Age: 21
EDUCATIONAL BACKGROUND
PERSONAL INFORMATION
Sex: Male
Age: 23
EDUCATIONAL BACKGROUND
PERSONAL INFORMATION
Sex: Female
Age: 22
EDUCATIONAL BACKGROUND