Deliverable 1 - jjgomezv2/InvenTech-Analytics GitHub Wiki
Deliverable 1: Project definition and Software Requirements Specification
1. Introduction
1.1. Purpose
The System to be developed has the purpose of allowing food companies to control, update and manage their inventory better in terms of time and product quality. This software is developed due to the need of food companies to reduce the loss of products due to their expiration and poor handling of these during storage in terms of time, quality, etc.
1.2. Scope
Inventech Analytics, an innovative Food Storage Management System, seeks to provide its clients with software that allows them to increase their operational efficiency and reinvent the way they store their products, by focusing on them and their care, achieving business benefits, such as loss reduction and optimization of its resources and processes. Positioning itself as the preferred option for food companies for the management of their products.
1.3 Product Overview
1.3.1. Product perspective
Inventech Analytics is not part of a larger system as such, it works almost completely independently, since it only has a redirection function to other web pages and only uses an external service to generate QR codes.
It is related to other storage management systems because it also allows you to view the products and their details, consult a specific product, verify its stock, and the entry/exit of products.
1.3.2. Product functions
-
Shows the place of storage of every product on the warehouse.
-
Indicates the available amount of each product in warehouse.
-
Allow different companies and its employees to log in and manage their warehouses.
-
Allows the entry of products from the inventory.
-
Allows the takeout of products from the inventory.
-
Allows companies and its employees to sign up.
-
Uses the FIFO method to prioritize the product dispatch based on their expiration dates.
-
Notifies about non-stock or low quantity of a product in the warehouse.
-
Suggests about the handling of each class of edible product during storage.
-
Stores and displays an image of the product.
-
Uses analytics to do selling suggestions based on the stored data.
-
Collects data to create graphics with important information about the products and operations.
-
It allows to register the dispatch information of products with ease.
-
Notifies about expiration of products in the warehouse.
-
Generates a QR code that contains the information of the product.
-
Uses AI to estimate a suggested price for a product.
-
Saves the information of the different suppliers.
-
Redirects the user to the web page of some shipping company to finish the dispatch.
1.3.3. User characteristics
The System is intended to be used by administrators and employees of the storage area of food companies. The System does not have a very complex usability, so its users would require minimum educational levels, such as reading and basic arithmetic notions, and a minimum skill with informatic systems; Thanks to the business knowledge required by users due to their position, they are expected to use the system in the best way.
1.3.4. Limitations
The system could be limited by legal regulations and/or internal policies of companies regarding food handling. In addition, you must have computing devices to use the system (computers). Additionally, depending on the type of user, there would exist user permissions limitations. Finally, external applications such as QR or payment pages could limit the functionality of the system because they could be down at any moment.
1.4. Definitions
-
FIFO: First In First Out process.
-
QR Code: Quick Response Code. Is an array of black and white squares or pixels set in a grid that stores data for a machine to read.
-
AI: Artificial Intelligence.
-
Analytics: Computational and statistical analysis of data.
-
Graphics: Element with the purpose of displaying some information visually.
-
Food Handling: Aspects to consider while manipulating food; to maintain it safe for public consumption and assure its integrity.
-
UUID: Universally Unique Identifier.
2. References
Approximately 30% to 40% of food products produced expire throughout the supply chain; Therefore, tools that allow monitoring of their expiration dates and their correct storage are necessary to solve this problem.
Also, we found some research articles that support the fact that food suffers damage during its supply chain for many reasons, such as ineffective and inefficient management of those products. These articles, and many others, explore this situation:
F. Sgarbossa, A. Romsdal, O. E. Oluyisola y J. O. Strandhagen, «Chapter 16 - Digitalization in production and warehousing in food supply chains» of The Digital Supply Chain, Elsevier, 2022, pp. 273-287.
H. Trollman, F. Bader, Y. Luo, G. Garcia-Garcia, S. Jagtap, C. Parra-López, J. Colwill y F. Trollman, «Chapter 4 - Food Safety 4.0» de Food Industry 4.0, Academic Press, 2024, pp. 61-81.
K. Liljestrand, «Logistics solutions for reducing food waste» de International Journal of Physical Distribution & Logistics Management, Emerald Publishing Limited, 2017, pp. 318-339.
S. Macnaughton, M. Barthel y J. Parfitt, Food waste within food supply chains: quantification and potential for change to 2050, The Royal Society, 2010.
3. Specific requirements
3.1. External interfaces
-
User interface: Users will interact with the system through a web application; to consult, enter, view and modify information contained there. Verifying its operation by confirming that the data entered, modified and delivered by the corresponding interface matches and is updated according to what is stored in the persistence of the application (done using the framework models). The user interfaces allow all the actions with which the user can interact with the system, displaying the elements defined in framework templates according to the functionality (such as forms, buttons, images, text boxes, among others), having connection with the rest of the internal architecture and other external interfaces.
-
Shipping Company Interface: The system connects with external web pages of shipping companies to redirect the user through the use of URLs to them so that the user can manually finish the shipment. This process is done precisely by sending the user to the page they decide to go to and with a waiting time of less than 2 seconds for redirection. It is related to user input (GUI) because the user needs to select which shipping company page they want to be redirected to.
3.2. Functions
-
R1S1: The system shall provide the user with the ability to consult the location of a product in the warehouse.
-
R2S1: The system shall display the available amount of the products updating it each time units of that product enter and leave the warehouse.
-
R1S3: The system shall provide employees with the ability to log in into their accounts, if and only if, they had been created before; not giving access when fields are filled incorrectly.
-
R1S2: The system shall provide employees with the ability to register the entry of products, whether it's a new product or new units of an existing one.
-
R2S2: The system shall provide employees with the ability to register the takeout of products, reducing the units available of that product.
-
R2S3: The system shall provide company's administrators with the ability to sign up their employee's accounts, if and only if, the sign up fields are filled correctly.
-
R3S2: If the user is going to take out a product, then the system should prioritize the dispatch of the product using the FIFO method based on their expiration dates; verifying that the product that is taken out is the closest to expiration.
-
R3S1: The system should notify the non-stock or low quantity of a product in the warehouse.
-
R4S1: The system shall suggest the handling of the product based on the food category given to it.
-
R5S1: The system should display an image of the products if and only if there is an image stored of it.
-
R3S3: The system should display selling suggestions based on analytics of the stored data.
-
R4S3: The system should collect data to create graphics with important information about the products and operations.
-
R5S3: If the user is going to dispatch a product, then the system should provide the user with the ability to register the dispatch information of products.
-
R4S2: The system should notify the expiration of products in the warehouse.
-
R1S4: The system could generate a QR Code that contains the information of the product.
-
R5S2: While a user is registering a new product, the system could estimate a suggested price for the product using AI.
-
R2S4: The system could provide the user with the ability to register the information of the suppliers of a company.
-
R3S4: If the user is going to dispatch a product, then the system could be able to redirect towards the web page of a chosen shipping company for the user to finish the dispatch manually.
3.3. Usability requirements
-
UR1: The system’s interface shall provide the user with the ability to complete the entry register of a product in less than 5 minutes.
-
UR2: The system’s interface shall provide the user with the ability to complete the takeout of a product in less than 5 minutes.
-
UR3: The system’s interface shall provide the user with the ability to make searches in less than 1 minute.
-
UR4: The system’s interface shall provide the user with the ability to visualize all the products’ information, reaching a rate of 95% satisfied users.
-
UR5: The system’s interface shall provide the user with the ability to visualize the details of every product’s unit in less than 3 clicks from the description of that product on the home page.
3.4. Performance requirements
-
PR1: The system shall display the notifications in less than 2 seconds when a user enters or refreshes the home page.
-
PR2: The system shall display all the products in less than 3 seconds when a user enters or refreshes the home page.
-
PR3: The system shall display search results in less than 3 seconds.
-
PR4: The system shall complete transactions without errors in 90% of transactions attempts.
-
PR5: The system shall generate the QR Code of a product in less than 5 seconds.
3.5. Logical database requirements
-
LDR1: The system shall relate product units with their respective product using foreign keys.
-
LDR2: The system shall assign a unique identifier to each product and product unit stored using UUID.
-
LDR3: The system shall access the product's data stored in the database frequently, to display them in the interface dynamically.
-
LDR4: The system shall store the expiration date of each product unit as a date datatype to be able to use it in other system functions.
-
LDR5: The system shall relate products with their respective company using foreign keys.
3.6. Design constraints
-
DCR1: The system shall be stored in the same GitHub repository.
-
DCR2: The system shall be developed with Python and Django.
-
DCR3: The system should use open-source software to avoid license costs.