Department of Computer Science & Engineering SOUTHEAST UNIVERSITY CSE4000: Research Methodology On Implementation of an Inventory Management System A dissertation submitted to the Southeast University in partial fulfillment of the requirements for the degree of B. Sc. in Computer Science & Engineering Submitted By Syed Riadh Hossen ID: 2016100000128 Khandaker Touheed Hossain ID: 2014200000016 Supervised By Dr. Gazi Zahirul Islam Associate Professor Department of CSE Southeast University Rabbush Ahmed Rahat ID: 2016100000038 Certification This is to certify that the research paper titled "Implementation of an Inventory Management System" is a record of research work done by Syed Riadh Hossen, Khandaker Touheed Hossain & Rabbush Ahmed Rahat for the partial fulfillment of the requirements for B.Sc. in Computer Science Engineering (CSE) from Southeast University. This paper was carried out under my supervision and is record of the work carried out successfully. Thank you. Supervisor: Sincerely yours, ………………………. Syed Riadh Hossen ID: 2016100000128 ………………………. Khandaker Touheed Hossain ID: 2014200000016 ………………………. Dr. Gazi Zahirul Islam Associate Professor Department of CSE Southeast University ………………………. Rabbush Ahmed Rahat ID: 2016100000038 2 Acknowledgement We would like to thank our Research Supervisor Dr. Gazi Zahirul Islam, Associate Professor, Department of CSE. He cordially guided us through our journey. We are grateful to him for providing us with materials, support and his valuable time, which will help us to enlighten ourselves in future. All the relevant and important details are included in this report. In the beginning we have given a summary regarding to the paper we are working on and as we proceed, details about the paper will be discussed. i Abstract This paper aims to find problems and implement an inventory management system, that will address the problems that small startups or businesses face while managing their product inventory levels and records by using web technologies like Spring Boot, ReactJS, MySQL database etc. The goal of the implementation is to address the problems of product inventory level management, sales, business purchases, suppliers, customer data management etc. It will also help to keep track of financial records regarding sales, purchases etc. in an organized manner rather than having numerous spreadsheets of huge volume of data. As inventory management is a critical component of the supply chain management challenge, this system will be helpful for small businesses to operate, where business owner keeps the records of their sales, purchases, products, customers etc. Manual management of these result in unhappy customers, slower sales, and excess cash on hand, and problems in warehouses. It will reduce manual work, human error, and manual delays. It also speeds up the process of maintaining data. So, a good web-based platform is always welcome we believe. There are many inventory management systems here and there and yet we are making one of our own because we want to provide people owing small-medium businesses a simple way to interact with inventory management system. In this paper we are going to discuss about our inventory management system. We developed our inventory management to keep record of product stocks, sales, purchases, suppliers, customers, basic financial report charts, update inventory levels and reports in real-time, have different access levels to the system using Role Based Access Control. ii Table of Contents Acknowledgement ........................................................................................................... i Abstract ........................................................................................................................... ii List of Figures ..................................................................................................................v 1 Introduction ...............................................................................................................................8 1.1 Overview ........................................................................................................................8 1.2 Motivation ......................................................................................................................8 1.3 Objective .........................................................................................................................9 1.4 Scope ..............................................................................................................................9 1.5 Constraints ......................................................................................................................9 1.6 Goals .............................................................................................................................10 2 Literature Review ...................................................................................................................11 2.1 Related paper Review ...................................................................................................11 2.2 Existing Online Systems ...............................................................................................12 2.2.1 Zoho Inventory...................................................................................................12 2.2.2 Base IT ...............................................................................................................14 2.3 Our works .....................................................................................................................15 3 Problems ..................................................................................................................................16 3.1 Difficulty in Finding Platform ...................................................................................16 4 Implementation .......................................................................................................................17 iii 4.1 Basic Analysis ............................................................................................................17 4.2 Functionality ..............................................................................................................17 4.3 Modules......................................................................................................................18 4.4 Architecture................................................................................................................20 4.5 Database diagram .......................................................................................................22 4.6 Access Level Diagram ...............................................................................................23 4.7 Tools Used .................................................................................................................24 5 Outcomes and Evaluation ......................................................................................................25 5.1 User Interface .............................................................................................................25 6 Conclusion ...............................................................................................................................42 6.1 Justification ................................................................................................................42 6.2 Future scope ...............................................................................................................42 References ................................................................................................................................43 Appendices ...............................................................................................................................45 Appendix A ........................................................................................................................45 Appendix B ........................................................................................................................45 Appendix C ........................................................................................................................46 Appendix D ........................................................................................................................46 Appendix E ........................................................................................................................46 iv List of Figures Figure 2.1: Zoho Inventory (Homepage) .......................................................................................13 Figure 2.2: Zoho Inventory ............................................................................................................14 Figure 2.3: Base IT (Homepage) ...................................................................................................14 Figure 4.1: System Layers .............................................................................................................20 Figure 4.2: Login flow ...................................................................................................................20 Figure 4.3: Signup flow .................................................................................................................21 Figure 4.4: Authenticated request flow .........................................................................................21 Figure 4.5: Database Diagram .......................................................................................................22 Figure 4.6: Access Level Diagram.................................................................................................23 Figure 4.7: Tool Used ....................................................................................................................24 Figure 5.1: Login Panel..................................................................................................................25 Figure 5.2: Password Reset ............................................................................................................26 Figure 5.3: Signup Form ................................................................................................................26 Figure 5.4: Dashboard ....................................................................................................................27 Figure 5.5: Dashboard (contd.) ......................................................................................................27 Figure 5.6: Products List ................................................................................................................28 Figure 5.7: Products List ................................................................................................................28 Figure 5.8: Products List (contd.) ..................................................................................................29 Figure 5.9: Product Update ............................................................................................................29 v Figure 5.10: Purchases List ............................................................................................................30 Figure 5.11: Purchase Order View.................................................................................................30 Figure 5.12: New Purchase Order ..................................................................................................31 Figure 5.13: Sales List ...................................................................................................................31 Figure 5.14: Sale Order View ........................................................................................................32 Figure 5.15: Sale Order Update .....................................................................................................32 Figure 5.16: Sale Order Update (contd.) ........................................................................................33 Figure 5.17: New Sale Order .........................................................................................................33 Figure 5.18: New Sale Order (contd.) ............................................................................................34 Figure 5.19: Suppliers List.............................................................................................................34 Figure 5.20: Supplier View ............................................................................................................35 Figure 5.21: Supplier Update .........................................................................................................35 Figure 5.22: New Supplier .............................................................................................................36 Figure 5.23: Customers List...........................................................................................................36 Figure 5.24: Customer View ..........................................................................................................37 Figure 5.25: Customer Update .......................................................................................................37 Figure 5.26: Reports.......................................................................................................................38 Figure 5.27: Reports (contd.) .........................................................................................................38 Figure 5.28: Signup Invitations List ..............................................................................................39 Figure 5.29: New Signup Invitation...............................................................................................39 Figure 5.30: Miscellaneous ............................................................................................................40 Figure 5.31: Users List ...................................................................................................................40 vi Figure 5.32: User View ..................................................................................................................41 Figure 5.33: Profile ........................................................................................................................41 vii Chapter 1 Introduction 1.1 Overview An inventory management system keeps record of inventory levels, sales, purchases, delivery etc. of a business. It helps in the business’s supply, production, stocking activities. It’s also helps to keep track of financial records regarding sales, purchases etc. Without inventory management systems, the business owners need to organize data that would otherwise be maintained in spreadsheets or written records, which is time consuming, error prone and not easy to maintain. A smart and efficient inventory management system can have several benefits. The success of a business as a whole can be greatly impacted by how its inventory is maintained [1]. 1.2 Motivation Internet becomes necessary part of our daily life. Majority of the population uses internet in their everyday life through smartphones, tablets, computers. Business owners use software like inventory management system for their business. Evolution of ERP popularized standalone inventory management systems even more, as many businesses cannot afford ERP solutions as they come at a very high cost. It’s easy to use it for their business so that they can keep track of their business stock, purchase sales etc. The main motivation of this paper to create better, userfriendly inventory management system for business owner. So that they can access that from anywhere which does not require any installation on any kind of device [3]. 8 1.3 Objective The main objective of this project is keeping keep record of sales, purchases, suppliers, customers, update inventory levels and reports in real-time so that business owner can stock the product which is not available or have low amount of stock. By that, the concerned people will be able to manage the supply chain, production more efficiently. They will also be able to see basic financial data regarding sales, purchases etc. The system will have different access levels to the system using different access roles. 1.4 Scope Inventory management systems can have good impact on the business owners’ management of their businesses. They can be benefited by using the system because they don’t need to keep their track record on spreadsheet or hand written records. They can easily track everything about their inventory from the system. 1.5 Constraints Our Inventory Management System has 3 types of users: ▪ Root: Can see dashboard, view/update products, view/add/update- purchases, sales, suppliers, customers, users, view reports, manage signup invitations. ▪ Admin: Can do the aforementioned tasks except of managing signup invitations. ▪ Moderator: Can view dashboard, products, customers, view/add/update sales records, view reports and users. 9 1.6 Goals The following goals will be achieved through our inventory management system: ▪ Provide user friendly web-based system. ▪ Update inventory levels and reports in real-time. ▪ Have different access levels to the system using RBAC. ▪ Show products in the dashboard that have low or empty stock. ▪ Maintain sales, purchases, suppliers, customers data. ▪ Show basic financial data regarding sales, purchases. 10 Chapter 2 Literature Review 2.1 Related paper review We have studied several papers based on Inventory Management System. First paper which we have studied is named as “Research Paper on Inventory Management System",” which was published by Punam Khobragade, Roshni Selokar, Rina Maraskolhe and Prof. Manjusha Tamale. In this paper presents an alarm about the information section in the bill which in view of desktop application. It is a simple desktop program that connects to the nearby distribution center so that information can be updated in preparation for the confirmation [8]. After that we studied “Factors Affecting the Efficiency of Inventory Management of Janapriya Multiple Campus, Pokhara” by Hari B. B. (2017. Where we took in the elements related with legitimate record keeping of stock, monetary assets (financing), expertise moved by store staff and administrative acquirement strategy decidedly impact on the viability of stock administration [2]. The third paper named as “Impact of Inventory Management Practices on Operational Performance: A Case Study on Bangladesh RMG Sector” by Yeaseen Chowdhury. In this paper the main study was to establishing the role of IM practices on the operational performance of garments industries of Bangladesh. The Research paper found out that the companies used information technology and lean stock inventory management system [7]. Then we studied “The effect of inventory management on firm performance. International Journal of Productivity and Performance Management” By Dimitrios P. Koumanako. In this paper we 11 looked into whether there would be linear line between Inventory holding and accounting to measure performance [9]. Then we also studied “A Study of Inventory Management System Case Study” by Tariq Sheakh. Where we learned how inventory management work properly, how to stock product before it’s went to stock out. How to keep records of the goods which is ready to shipment [5]. Inventory Management System help the business owners and managers to find their product in categories base. Organizing inventory always requires thorough planning processes and effort. After the appearance of inventory management systems, the work went easy to business owner to calculate stock and purchases. Before which was not easy to keep data on handbook. So, it’s mainly helpful for business owners and managers who have fast moving products of any category. 2.2 Existing Online Systems Here are some worldwide Inventory management System. ▪ Zoho Inventory ▪ Agiliron 2.2.1 Zoho Inventory One of the most popular inventory management systems in the world for small businesses is Zoho. Worldwide, Zoho provides a range of tools for small enterprises. From your inventory management software, you may manage numerous warehouses, e-commerce, and purchase orders. The system's advanced bundling and kitting capabilities for merging numerous Stock Keeping Units (SKUs), adaptability to varied business models and use cases, and user-friendly interface make it ideal for a variety of industries. Additionally, it provides tools for handling perishables, such as alarms and monitoring for expiration. 12 Figure 2.1: Zoho Inventory (Homepage) Figure 2.2: Zoho Inventory 13 Bangladesh Inventory market is also growing so fast. Many companies are doing the inventory management business. Here are some Bangladeshi Inventory Management Company: ▪ Base IT. ▪ Ruopokar Bangla. ▪ Color Bangla. 2.2.2 Base IT. Base IT is one of the top Inventory Management Companies in Bangladesh. They provide various Features like Admin Panel, Central Module, Stock, Reports etc. Figure 2.3: Base IT (Homepage) 14 2.3 Our Works There are many inventory management systems, but we are working on something that makes our system slightly different from others. We have functionality to update product stock levels in real time when sale orders, purchase orders are created/updated in required ways. We have suppliers, customers, sales orders, purchase orders, products etc. information on track to help the users keep track of these critical information. We also have financial reports of sales, costs, profits, available stock levels. We have every information tightly-coupled to prevent data mismanagement and maintain data integrity. 15 Chapter 3 Problems 3.1 Difficulty in finding software Now-a-days inventory management software are very popular, both as a component of large ERP systems and also as stand-alone systems. There are many companies who provide inventory management solutions but the problem is most of them are very costly and they are mostly built for big businesses. Large businesses are able to maintain such high-cost systems but small businesses don’t have the scope to maintain such systems. So, they tend to maintain information manually in written books or numerous verbose spreadsheets that are very difficult to maintain and error prone. 16 Chapter 4 Implementation In this section we will discuss about the implementation of our research project. Gathering a different type of solution, we have been building our project as a basic structure of Inventory management system, and have been tried our best to make our project more user friendly. So that any people can use that easily who don’t have much technical knowledge. 4.1 Basic Analysis As per initial analysis we try to gather the information, modules of available on inventory management system. And having from realization we came in a decision to make our project more user friendly, more useful, and tried to add more modules. 4.2 Functionality Our inventory management system provides the following functionalities and features: ❖ Uses RBAC (Role Based Access Control) to manage access levels to different resources. They roles are- Root, Administrator, Moderator. ❖ Authorized users can add/update/view products, purchase orders, sale orders, supplier information, customer information, users’ information, signup invitations, basic financial reports such as Sales, Costs, Profits, Return of Investments etc. ❖ The system has a Dashboard in which authorized users can see summarized information about recent sale and purchase orders, products that have low or empty stock, and charts denoting Sales, Costs etc. 17 ❖ The system also has filters and search options to see information about products, sales, purchases in a more efficient manner. ❖ In case a user forgets their login credentials, they can easily reset their credentials using the system. 4.3 Modules The modules of the inventory management system are described as below: • Login: Users of all roles will log into the system using the same login panel. • Password Reset: Users of all roles will be able to reset their passwords in-case they forget their passwords • Signup: The root user will be able to invite other users for roles- Administrator, Moderator. The respective people will get an email which will contain a time limited URL with an invitation token attached. They will be redirected to the signup form where they will be able to put necessary information and register in the system. The invitation is single use and time limited. However, the root user will be able to revoke the invitation any time before the invitation is used. • Dashboard: All users will have access to the dashboard. The dashboard will provide summarized information about recent purchase orders, sale orders, products that have low/empty stock. The dashboard will also provide elementary charts about sales, costs, etc. • Products: Users of all access levels will be able to view products list, filter and search for products, and view individual products. However, only the root user and admin users will be able to update product information, which is inaccessible by the moderators. • Purchase Orders: Root and admin users will be able to view, add and update purchase orders. Purchase orders are necessary to keep track of expenses, products and supplies. Purchase orders that are marked as “Stocked” will be moved automatically to the products section with necessary information for later sales and other operations. • Sale Orders: Users of all access levels will be able to view sale orders list, filter and search for specific orders. They can also view and update individual products. The products that 18 are added in the sale orders, will have their stocks automatically deducted instantly. Also, in-case an order is cancelled, the respective order’s products’ stocks will be restored automatically. • Suppliers: The root and admin users will be able to view, add and update supplier information. This section has basic information about suppliers such as name, contact, address, and audit information such as the user who added/updated the supplier in the system and the timestamp of the action. Each supplier will have a table that will show the purchase orders related to them. • Customers: Users of all access levels will be able to see customers list, filter and search for specific customers. They can also view and update individual customer information. Each customer will have a table that will show the sale orders related to them for easier management. • Reports: All the users will have access to the reports section. This section will contain financial and inventory related graphs and charts that will denote several factors such as Sales, Costs, Profits, ROI (Return on investment), Sale and purchase orders histograms. • Users: Users will be able to see existing users list on the system. The Root user will be able to disable access of a user into the system. However, users will be able to update their own information such as email, phone no., display picture and password. • Invitations: The root user will have access to this section. This section will contain signup invitations that were created. The list of invitations can be filtered using the given filters and also it contains a search option that will show the results based on the input. The root user will also be able to create new invitations that will be sent to the respective email addresses immediately. The invitations will be then used by the intended people to sign up for the given role. These invitations will be valid only for limited time and also, they can be revoked by the root user any time before they are used. • Miscellaneous: This section will be accessed be root and admins to add and view different information into the system such as product categories, payment methods, payment mediums, delivery mediums etc. 19 4.4 Architecture Our inventory management system will have 3 different layers shown as below: Figure 4.1: System Layers The frontend will communicate to the business logic layer that has the backend service. The backend service will process inbound/outbound data from/to the frontend application using REST over HTTP. The diagrams of a few modules are given below: • Login: Figure 4.2: Login flow 20 The diagram 4.2 describes how a login request from the user traverses through the backend service. • Signup: Figure 4.3: Signup flow The diagram 4.3 describes how a signup request from the user travels through the backend service. • Authenticated requests flow (Stateless): Figure 4.4: Authenticated request with Bearer Token 21 The diagram shows how an authenticated request traverses through the Backend service. The authentication is managed by Spring Security. As the backend service communicates with the frontend application using REST over HTTP, the authentication is kept stateless for that purpose. Requests coming into the backend service needs to have appropriate and valid Bearer Token in the Authorization header. Spring security will intercept the header and validate authentication. Upon successful authentication, the actions will be performed. 4.5 Database Diagram The database diagram (4.5) is generated using MySQL Workbench. Figure 4.5: Database Diagram 22 The inventory management system’s data model has been designed fully on SQL database. One of the reasons of using SQL is to ensure data integrity and reduce data redundancy. The tables in the database are tightly-coupled with each other, assuring greater data integrity to serve the purpose of the system appropriately. 4.6 Access Level Diagram The access level diagram of our inventory management system is given below: Figure 4.6: Access Level Diagram 23 The diagram 4.6 describes the different access levels of different roles in the system. The root user is the superior user in the system, followed by Admin and Moderators. 4.7 Tools Used For developing the system, we have used the following tools: Frontend JavaScript React.JS Backend Datasources Java MySQL Database Spring Boot Oracle Cloud Object Storage Figure 4.7: Tools used 24 Chapter 5 Outcomes and Evaluation 5.1 User Interface User interface is the layer of the system using which a user can interact with a system. The user interface serves the user with data in interactive way and also takes user inputs where necessary. We have developed out frontend application using ReactJS. All the webpages of the system are shown below in form of Figures: Figure 5.1: Login Panel This login panel will be used by users of all access roles to login to the system. 25 Figure 5.2: Password reset If a user forgets their password, they can easily reset their password using the password reset functionality in the system. Figure 5.3: Signup Form Signup form will be used to register in the system. The form cannot be accessed publicly. Only people with valid invitation (received in their email) will be able to access the form to sign up. 26 Figure 5.4: Dashboard Figure 5.5: Dashboard (contd.) The dashboard presents basic graphical data such as current year’s sales and costs graph, purchase orders graph, sold units graph. It also shows total sales, expenses, sold units, worth of available stock, recent Sale Orders, Purchase orders, products that have low/empty stock. 27 Figure 5.6: Products List Products list shows all the products in the system. It also has filter and search functionality for finding products easily. Users of all the access roles can view this page. Figure 5.7: Product View 28 Figure 5.8: Product View (contd.) This page shows detailed information about the selected product from the list. Figure 5.9: Product Update This page allows product information such as specifications, price to be updated. This page is accessible by root and admin users only. 29 Figure 5.10: Purchases List This page shows all the purchase orders as a list. It also has filters and search option to find purchase orders easily., orders that are stocked / cancelled cannot be updated. Only pending orders can be updated. Figure 5.11: Purchase Order View 30 This page (figure 5.11) shows detailed information of a purchase order selected from the list. This page is accessible by Root and admin roles only. Figure 5.12: New Purchase Order New purchase orders can be added by Root or admin roles using the form shown. Figure 5.13: Sales List 31 This page (figure 5.13) serves the list of sale orders. This page also has filters and search option to find specific sale orders. This section can be accessed by users of all roles. Figure 5.14: Sale Order View In this page, detailed information of a sale order can be seen. Figure 5.15: Sale Order Update 32 Figure 5.16: Sale Order Update (contd.) This page lets a sale order to be updated. In case an order is cancelled, the respective items of the order will be immediately restored to the stock automatically. Users of all access levels can access this section. Figure 5.17: New Sale Order 33 Figure 5.18: New Sale Order (contd.) New sale orders can be added from this page. Products/items that are selected will have their stock updated immediately negating the mentioned quantity of the product/item. All user levels have access to this action. Figure 5.19: Suppliers List This page shows list of suppliers added in the system. It also has a search option to search for a specific supplier. Only root and admin roles have access to this page. 34 Figure 5.20: Supplier View Selected supplier’s information is shown on this page. It also contains the all the purchase orders from the supplier. Only root and admin roles have access to this page. Figure 5.21: Supplier Update This page lets update supplier information. Moderators do not have access to this section of the system. 35 Figure 5.22: New Supplier New suppliers can be added to the system using from this page. Only root and admins have access to this page. Figure 5.23: Customers List This page shows the list of customers in the system. All user roles can access this page. 36 Figure 5.24: Customer View Users can select a customer to view their information in this page. It also shows the sale orders related to the customer. Figure 5.25: Customer Update Customer information can be updated by users of all roles using this page. 37 Figure 5.26: Reports Figure 5.27: Reports (contd.) This section of the system shows financial and inventory level reports. The chart shown in Figure 5.26 is the consolidate summary of all time. The charts in Figure 5.27 shows various financial and inventory level data. 38 Figure 5.28: Signup Invitations List This page shows signup invitations list along with a few filters and search option. Only root user can access this page. Figure 5.29: New Signup Invitation This page serves the form to create and send a signup invitation for a user. 39 Figure 5.30: Miscellaneous This page shows product categories, payment methods, delivery mediums added in the system and also serves functionality to add new ones. This can be accessed by root and admin users. Figure 5.31: Users List All the users in the system can be seen in this page. However, the current user will not see their entry in this page. This page can be accessed by users of all the roles. 40 Figure 5.32: User view User’s information can be seen in this page by other users. Only the root user will see the button labeled “Disable Access”, which they can use to disable access of the user to the system. Figure 5.33: Profile This page shows the current user’s information. It also let’s update email, phone no, change password of the user. 41 Chapter 6 Conclusion 6.1 Justification We have built the inventory management system to achieve the goal of organizing, managing inventory data for small-medium scale businesses in an efficient way. Such businesses can use this system on their own to have their supply chain, inventory levels organized, on track and monitored, which will help them in the long run. 6.2 Future scope In future, we will add processing system to highlight and show top-selling products by sales records on specific timeframes, predict sales and required inventory levels to feed the predicted sales amount. We will also migrate the project to a more robust, scalable reactive, non-blocking architecture. We will also add invoice generation system and provide more detailed financial report generation. 42 References [1] Elema, B. G., & Dr. Karanja N. (2014). Determinants of Effective Inventory Management at Kenol Kobil Limited. European Journal of Business Management, 1(11), 1-17. [2] Hari B. B. (2017). Factors Affecting the Efficiency of Inventory Management of Janapriya Multiple Campus, Pokhara. Janapriya Journal of Interdisciplinary Studies, 6, 78-87. [3] Koumanakos, D. P. (2008). The effect of inventory management on firm performance. International Journal of Productivity and Performance Management, 57(5), 355-369. [4] Laurie Williams. A survey of plan-driven development methodologies, 2004. [5] Barry Boehm, "Spiral Development: Experience, Principles, and Refinements", edited by Wilfred J. Hansen, 2000. [6] Dervitsiotis, Kostas N, “Operation Management” McGraw-Hill Book Company, United States of America, 1981. [7] Muller, M, “Essentials of Inventory Management” United States of America, 2003. [8] Punam Khobragade, Roshni Selokar, Rina Maraskolhe and Prof. Manjusha Tamale, "Research Paper on Inventory Management System", International Journal of research and Technology, e-ISSN: 2395-0056, Vol.5(5), April 2018, p-ISSN:2395-0072. [9] P. G. Matsebatlela and K. Mpofu, "Inventory Management Framework to attenuate Supply and Demand Mismatch on a producing Organization", International Federation of Automatic Control, Vol.3, No.48, Mar-2015, p-ISSN:260-265. [10] Marvin V. Zelkowitz and Delores Wallace. Experimental validation in software engineering. Information and Software Technology, Vol 39, no 11, pp. 735-744, 1997. [11] L. Ling, Supply chain management: concepts, techniques and practices enhancing the value through collaboration. NJ: World Scientific, 2007. 372. [12] D. Plinere, L. Aleksejeva, “Agent system application as a tool for inventory management improvement,” in 8th Int. Conf. on Soft Computing, Computing with Words and Perceptions in System Analysis, Decision and Control, pp. 157–166, 3–4 Sep, 2015. Antalya, Turkey. 43 [13] D. Dhoka, Y.L. Choudary “ABC Classification for Inventory Optimization,” IOSR Journal of Business and Management, vol. 15, Issue 1, pp. 38–41, Nov. – Dec. 2013, http://dx.doi.org/10.9790/487X- 1513841. [14] A. Khandelwal, G. Tyagi, (2015) “Review Paper on Suitability of Traditional Prototype Model and Spiral Model used for Mobile Application Development Life Cycle”, International Journal of Engineering Research & Technology, 2015, Volume 3, Issue 31. [15] Dr. S. T. Bhosale,VPIMSR, Sangli, Shivaji University, Kolhapur (2014) ”Spiral Model: Applications in Web based Applications” IPASJ International Journal of Computer Science (IIJCS) Volume 2, Issue 6, pp. 1-4, June 2014. [16] B. Boehm and P. Bose, “A Collaborative Spiral Software Process Model Based on Theory W”, IEEE 1994, DOI: 10.1109/SPCON.1994.344423. [17] Chen. C, “Systematic Risk Management in Enterprises”, International journal on Software and Systems Modeling, vol.7, no.2, pp.16-20, 2011. [18] B. Boehm and P. Bose, “A Collaborative Spiral Software Process Model Based on Theory W”, IEEE 1994, DOI: 10.1109/SPCON.1994.344423. [19] A. Khandelwal, G. Tyagi, (2015) “Review Paper on Suitability of Traditional Prototype Model and Spiral Model used for Mobile Application Development Life Cycle”, International Journal of Engineering Research & Technology, 2015, Volume 3, Issue 31. [20] P. Dholakia, D. Mankad (2013) “The Comparative Research on Various Software Development Process Model” International Journal of Scientific and Research Publications, Volume 3, Issue 3, pp. 1-4, March 2013 Edition [ISSN 2250-3153]. [21] B. W. Boehm. “A Spiral Model of Software Development and Enhancement,” IEEE Computer Society vol. 21, pp. 61-72, May 1988. 44 Appendices Appendix A: Spring Boot Spring Boot is a collection of frameworks developed by VMWare, Pivotal Software. Spring Boot is used to build modern Web Applications and Services using Java easily. Spring Boot provides a large number of frameworks such as Spring Security, Spring MVC, Spring Data JPA, Spring Cloud etc. Spring Boot provides seamless integration among Spring’s frameworks and some third-party libraries that reduces the time to bootstrap N-tier applications easily in less time. Spring Boot has gained much popularity in recent years as it helps building robust, scalable web applications easily. In our system, we have used Spring Boot and Java to create a RESTful backend service that will process and serve data to/from the frontend application and store/retrieve data from the database. Appendix B: ReactJS ReactJS is a UI library by Facebook Inc., that is used to build client-side single-page, stateful applications using JavaScript. ReactJS is a very popular library that uses reusable component-based approach, meaning a component once built can be used anywhere in the application. ReactJS has made it easy to quickly build complex UI and process data in the client side. ReactJS provides routing functionality for navigation among different pages within the single-page architecture. We have used ReactJS along with CSS3 to build the frontend application of our inventory management system. 45 Appendix C: MySQL Database MySQL is a relational database system that is developed and maintained by Oracle Corporation. As the name suggests, it is an SQL (Structured Query Language) database management system. MySQL provides support for large volume of data and efficiently managed processing system, which is very important for scalable, high-availability and secure systems. Relational databases are appropriate for scenarios where data integrity is very important. In our system, we have used MySQL as the only database system to store data. Appendix D: Object Storage Object Storage is a type of data storage that stores data as objects. Object storages are generally used to store various type of files that would otherwise be very inefficient/impossible to store in traditional databases. Object storages can store and serve such type of data very efficiently. Object storages provide APIs to users to upload, update, delete, retrieve objects from the cloud. In our system, we have used Oracle Cloud Infrastructure Object Storage to store images of products and users, that otherwise could not be stored in traditional databases efficiently. Appendix E: REST REST stands for Representational State Transfer, which is a definition of communication among services. REST is a stateless way of communicating among services. Services serve/accept data in requested media types such as JSON (JavaScript Object Notation), XML (Extended Markup Language). The service(s) serving/accepting data holds no state in general, so authorization, session and other cross-cutting concerns must be taken care of by different means. REST traditionally works over HTTP (Hyper Text Transfer Protocol), which is a stateless protocol. REST can be implemented in any form required. In our system, we are using REST establish communication between the frontend application and the backend service. 46