A System for Monitoring Temperature and Humidity for Quality Warehousing of Agricultural and Pharmaceutical Products Nkatha Claire - SCM211-0307/2020 Kinyua Vivian - SCM211-0347/2020 Muiga Stephen - SCM211-0630/2020 Omoga Nick - SCM211-0635/2020 Muriuki Harun - SCM211-0743/2020 A Research Project Submitted to the Department of Pure and Applied Mathematics in the School of Mathematical and Physical Sciences in Partial Fulfillment of the Requirement for the Award of the Degree of Bachelor of Science in Mathematics and Computer Science of Jomo Kenyatta University of Agriculture and Technology 2024 DECLARATION This project is our original work and has not been presented for a degree in any other university. Signature :.................................................... Date :............................................ Nkatha Claire (SCM211-0307/2020) Signature :.................................................... Date :............................................ Kinyua Vivian (SCM211-0347/2020) Signature :.................................................... Date :............................................ Muiga Stephen (SCM211-0630/2020) Signature :.................................................... Date :............................................ Omoga Nick (SCM211-0635/2020) Signature :.................................................... Date :............................................ Muriuki Harun (SCM211-0743/2020) This project has been submitted for examination with our approval as the Uni- versity Supervisors. Signature :.................................................... Date :............................................ Dr. Richard Kariuki JKUAT, Kenya Signature :.................................................... Date :............................................ Ms. Jane Kimani JKUAT, Kenya ii TABLE OF CONTENTS DECLARATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii ABBREVIATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . v LIST OF TABLES . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi ABSTRACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii CHAPTER 1: INTRODUCTION . . . . . . . . . . . . . . . . . . . . 1 1.1 Background of the Study . . . . . . . . . . . . . . . . . . . . . . . 1 1.1.1 The Role of IoT Technology in Storage . . . . . . . . . . . . 1 1.1.2 Real-Time Systems Development . . . . . . . . . . . . . . . . 2 1.1.3 Applications of Real-Time Systems . . . . . . . . . . . . . . 2 1.1.4 History of Real-Time Systems . . . . . . . . . . . . . . . . . 2 1.1.5 Types of Real-Time Systems . . . . . . . . . . . . . . . . . . 3 1.2 Statement of Problem . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Justification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4.1 General Objectives . . . . . . . . . . . . . . . . . . . . . . . 4 1.4.2 Specific Objectives . . . . . . . . . . . . . . . . . . . . . . . . 4 1.5 Scope of Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 CHAPTER 2: LITERATURE REVIEW . . . . . . . . . . . . . . . . 5 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 Navigating Advancements in Monitoring Systems . . . . . . . . . . 5 CHAPTER 3: METHODOLOGY . . . . . . . . . . . . . . . . . . . . 7 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.2 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.3 Frontend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.4 Backend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 CHAPTER 4: SYSTEM DEVELOPMENT . . . . . . . . . . . . . . 9 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.2 Conceptual Model . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.3 Frontend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.3.1 User Authentication . . . . . . . . . . . . . . . . . . . . . . . 10 4.3.2 Frontend Dashboard . . . . . . . . . . . . . . . . . . . . . . . 13 4.4 Backend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4.4.1 API Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4.4.2 Database Management . . . . . . . . . . . . . . . . . . . . . 17 4.5 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 iii 4.5.1 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 4.5.2 Integration with Backend . . . . . . . . . . . . . . . . . . . . 17 4.5.3 System Main Loop . . . . . . . . . . . . . . . . . . . . . . . 18 4.5.4 Handling Message . . . . . . . . . . . . . . . . . . . . . . . . 18 CHAPTER 5: CONCLUSIONS AND RECOMMENDATIONS . . 20 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 5.2 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 5.3 Recommendations for System Users . . . . . . . . . . . . . . . . . . 20 5.4 Recommendations for Further Research . . . . . . . . . . . . . . . 21 REFERENCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 APPENDICES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 A Frontend Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 A.1 Registration Code . . . . . . . . . . . . . . . . . . . . . . . . 24 A.2 Authentication Service Code . . . . . . . . . . . . . . . . . . 25 A.3 Dashboard Structure . . . . . . . . . . . . . . . . . . . . . . 27 A.4 Data Service code . . . . . . . . . . . . . . . . . . . . . . . . 29 A.5 Readings Page code . . . . . . . . . . . . . . . . . . . . . . . 32 B Backend Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 B.1 Threshold API code . . . . . . . . . . . . . . . . . . . . . . . 34 B.2 Database model . . . . . . . . . . . . . . . . . . . . . . . . . 36 C Hardware Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 C.1 Sensor and GSM connectivity . . . . . . . . . . . . . . . . . 36 C.2 Integrating hardware with backend . . . . . . . . . . . . . . 37 iv ABBREVIATIONS SMS Short Message Service Wi-Fi Wireless Fidelity CDC Centers for Disease Control and Prevention IoT Internet Of Things JSON Javascript Object Notation ESP32 A feature-rich System on a Chip microcontroller MQTT Message Queuing Telemetry Transport IDE Integrated Development Environment DHT22 A digital temperature and humidity sensor SMTP Simple Mail Transfer Protocol VS Code Visual Studio Code PlatformIO Multi-framework IDE tool for embedded systems HTTP Hypertext Transfer Protocol HTML Hypertext Markup Language CSS Cascading Style Sheet Chart.js JavaScript library for data visualization GSM Global System for Mobile Communications v LIST OF FIGURES Figure 4.2.1: Conceptual Model . . . . . . . . . . . . . . . . . . 9 Figure 4.3.1: User Authentication Flow Chart . . . . . . . . . . 10 Figure 4.3.2: User Signup . . . . . . . . . . . . . . . . . . . . . . 12 Figure 4.3.3: Signup error . . . . . . . . . . . . . . . . . . . . . 12 Figure 4.3.4: Login Page . . . . . . . . . . . . . . . . . . . . . . 13 Figure 4.3.5: Login Error . . . . . . . . . . . . . . . . . . . . . . 13 Figure 4.3.6: Dashboard Flow Chart . . . . . . . . . . . . . . . 14 Figure 4.3.7: Dashboard . . . . . . . . . . . . . . . . . . . . . . 15 Figure 4.3.8: Taskbar . . . . . . . . . . . . . . . . . . . . . . . . 15 Figure 4.3.9: Readings Page 1 . . . . . . . . . . . . . . . . . . . 16 Figure 4.3.10: Readings Page 2 . . . . . . . . . . . . . . . . . . . 16 Figure 4.5.1: sensor Network 1 . . . . . . . . . . . . . . . . . . . 17 Figure 4.5.2: Sensor Network 2 . . . . . . . . . . . . . . . . . . 17 Figure 4.5.3: Main Loop Flow Chart . . . . . . . . . . . . . . . 18 Figure 4.5.4: Handling Messages . . . . . . . . . . . . . . . . . . 19 Figure 4.5.5: Sample Result Message . . . . . . . . . . . . . . . 19 vi ABSTRACT In an era when supply chain efficiency and product quality are critical, manag- ing environmental conditions in warehouses and stores is critical to guaranteeing the integrity and safety of stored items. Temperature and humidity play a key role, particularly in industries like food, pharmaceuticals, and logistics. However, manual monitoring of these conditions is subject to human error. This project addresses these challenges by offering a solution for real-time monitoring both on- site and remotely. Using DHT22 sensors, an ESP32 microcontroller, and a GSM module, a sensor network is established and integrated with a mobile application developed using Python and Angular framework. This system aims to enhance storage conditions and safeguard product quality in agricultural and pharmaceu- tical sectors. By leveraging technology to mitigate risks and optimize operations, it not only boosts product quality but also contributes to sustainable and efficient operations. vii CHAPTER ONE INTRODUCTION 1.1 Background of the Study The Kenya 2023 population is estimated at 55,100,586 people at mid-year. This population is equivalent to 0.68% of the total world population. Feeding this population must be addressed by several approaches that include technologies to maximize yield and reduce food losses in the field. A recent report from the Food and Agriculture Organization (FAO) reveals that about 30% of global food is lost or wasted due to several factors, including poor post-harvest management (FAO, 2017). The African Postharvest Losses Information System (APHLIS) indicates that a large proportion of post-harvest losses is largely caused by poor post-harvest management and limited access to efficient storage facilities (Bank, 2007). As such, improving access to proper storage facilities is vital in helping farmers avoid food loss, increase their income, and boost the supply of nutritious foods to the continent’s growing number of consumers (Deloitte, 2015). People in industries like pharmaceuticals work in a risk-prone industry where they must avoid asset failures at any cost, as making mistakes is unacceptable because quality control has a direct impact on the health of the consumer and there should be no opportunities for errors to be made. If biomaterial is not stored appropriately, medications can be exposed to varying environmental changes, making them lose their effectiveness. If such drugs are ingested, they can be harmful to consumers’ health. The CDC recommends that every medication holding facility should have temperature monitoring devices and “digital data loggers” to continuously detect and record any fluctuations (CDC, 2010). 1.1.1 The Role of IoT Technology in Storage IoT refers to the integration of hardware and software systems to build one com- plete system. This technology helps in enabling the optimal circumstances for supervising different stored biomaterials, chemicals and agricultural produce. The integration of advanced sensor technologies and data-driven applications presents a transformative opportunity to address storage challenges. IoT and smart sen- sors can be coupled with a variety of existing devices that could further enhance storage by facilitating accurate real-time remote monitoring of conditions. This has revolutionized both the agriculture and pharmaceutical industries in terms of resource optimization, controlling climate effects, and improving returns. One key categorization of the IoT systems is the division between real-time and non- 1 real-time IoT applications. In interest to this study, the major focus will be the Real -time systems. 1.1.2 Real-Time Systems Development Real-time systems are systems that provide immediate and accurate responses to external events. They can reduce human error by automating tasks that require precision, accuracy, and consistency. They can also be customized to meet specific requirements, making them ideal for a wide range of applications. The main advantage of real-time systems is they minimize the need for human intervention hence reducing the risk of errors. 1.1.3 Applications of Real-Time Systems These systems respond to external events or input stimuli in a timely fashion (within finite and specified time). Timing constraints include response time, start time and finish time, that is, time taken to respond to the event, time at which the response to the event starts and time at which the response is given. Consider a Weapons Defense System, the radar system continuously monitors for potential threats like incoming missiles and measures the coordinates of the targets. It then sends these coordinates to the control system, which then deter- mines the level of threat possessed by the target based on the information from the radar system. The command and decision system then calculates different parameters of the target like speed of the missile, flight path and possible point of impact. Based on the above parameters, the Control System then activates the Weapons Firing System, which fires continuously until the target is destroyed. The communication between the command and decision system and the radar system happens in real time since a potential threat can occur at any time and it is unpredictable. These systems are also applied in latest smart TVs, GPS Navigation Systems, almost all modern day smartphones, and anti-lock brakes and airbags in automobiles. 1.1.4 History of Real-Time Systems The term real-time is derived from its use in early simulation, where real-time processes were simulated at a rate matching that of a real process. Analog com- puters were capable of simulating at a faster pace than real-time. Minicomputers, from 1970 onwards, when built into dedicated embedded systems increased the need for low-latency priority-based responses. This led to the rise of operat- ing systems such as Real- Time Operating Systems, which would be used for time-sharing multi-user duties. Then, the MOS Technology 6502 and later the Motorola 68000 became popular, anybody could use their personal computer as a real-time system. 2 1.1.5 Types of Real-Time Systems Hard Real-Time Systems: These are systems whereby non-compliance with the set restrictions can result in dire consequences. The usefulness of these sys- tems drastically reduce when deadlines are continuously missed Soft Real-Time Systems: These systems can occasionally miss their deadlines with some acceptable low probability. No dire consequences result from missing the deadlines. Firm Real-Time Systems: In firm real-time systems, missing a deadline is tolerable, but the usefulness of the output decreases with time 1.2 Statement of Problem The agricultural sector, through farms and stores, industries and warehouses in general, play a critical role in the production, storage and distribution of various goods, ranging from perishable items like food and pharmaceuticals to durable goods such as electronics. However, the efficient management of these facilities is challenged by environmental factors, primarily temperature and humidity fluctu- ations. Currently, in Kenya, traditional methods are used to monitor and manage temperature and humidity fluctuations but these methods may not adequately address the mentioned factors. The absence of real-time monitoring and alert systems leave these facilities sensitive to adverse conditions, leading to increased product losses, compromised quality, and potential non-compliance with indus- try and regulatory standards. The proposed study aims to address the identified problems by implementing a comprehensive system of temperature and humidity sensors in warehouses, stores, greenhouses, industries and any other place where the system is applicable. Through the deployment of advanced sensor technolo- gies, the study seeks to mitigate the challenges faced by farmers and warehouse managers by offering a real-time monitoring and alert systems, ushering in a new era of enhanced product quality, operational efficiency, and environmental responsibility. 1.3 Justification Through extensive survey, it has been proven that significant losses are incurred due to poor storage conditions, point in case being in agriculture and the phar- maceutical industry. Most of the existing systems require human intervention to check and detect abnormal changes in the temperature and humidity levels. The proposed system intends to make improvements by displaying real-time readings on a mobile application where the user receives online and also offline alerts via 3 SMS. Consequently, this will increase productivity in agriculture since by giving real-time information on environmental conditions, agricultural operations will be optimized. Remote monitoring and alerts also allows stakeholders to remotely access and monitor temperature and humidity conditions in real-time, providing timely insights and enabling Swift response to any deviations, and as a result help reduce financial losses and spoilage. There is a regulatory compliance that orga- nizations should follow in terms of handling and storage conditions; this system will help in ensuring that this obligation are met. 1.4 Objectives 1.4.1 General Objectives To create a system for monitoring temperature and humidity for quality ware- housing of agricultural and pharmaceutical products. 1.4.2 Specific Objectives 1. To develop a sensor network which will be the hardware subsystem. 2. To develop a user-friendly mobile application with real-time alerts and re- porting feature. 3. To integrate the mobile application with the sensor network. 1.5 Scope of Study IoT real-time systems have a broad array of applications across various indus- tries, ranging from healthcare to manufacturing. Environmental conditions such as temperature, humidity, light and air quality are a major concern to ensure quality storage of products in these warehouses and industries. In the context of our project, we’re harnessing IoT technology specifically for environmental mon- itoring within agricultural and pharmaceutical settings, focusing on temperature and humidity management. The study specifically addresses challenges related to temperature and humidity fluctuations, aiming to optimize conditions crucial for product quality preservation. Through this targeted approach, we aim to address the critical challenges associated with temperature and humidity fluctuations in these vital industries, ultimately improving efficiency, quality, and profitability. 4 CHAPTER TWO LITERATURE REVIEW 2.1 Introduction This chapter provides a review of literature from previous studies having bearing on the current study. 2.2 Navigating Advancements in Monitoring Systems Kader (2013) proposed a greenhouse automation system and mainly monitoring of crops conditions such as temperature and humidity of the crops to predict possible crop diseases and deal with them beforehand to increase productivity Preserving freshness and safety while extending post-harvest life for horticultural products necessitates specific temperature and humidity conditions crucial for quality preservation . The process involves careful temperature control during initial cooling and across the cold chain, including transportation, storage, and retail display. Alongside managing relative humidity, it aims to minimize moisture loss. Implementing these conditions optimizes post-harvest life, ensuring the integrity and safety of horticultural products. Tsang et al. (2018) did a study to propose an IoT-driven risk monitoring sys- tem (IoTRMS) to oversee product quality and occupational safety risks in cold chains. IoTRMS integrated wireless sensor networks, cloud databases, and fuzzy logic to monitor environmental conditions, assess product quality degradation, and evaluate cold-associated occupational risks. Real-time monitoring ensures compliance with handling requirements, reducing occupational risks and enhanc- ing operational efficiency within cold chain activities. This innovative approach addresses the lack of comprehensive risk consideration in cold chains, aiming to ensure secure product quality and effective occupational safety management According to Thakur et al. (2019), Wireless Sensor Networks (WSN) are ex- tensively employed in diverse domains like agriculture, surveillance, and smart technologies. Precision Agriculture (PA) notably embraces WSNs to measure en- vironmental parameters such as humidity, temperature, soil moisture, and soil pH to optimize crop quantity and quality while conserving natural resources. Their study aimed at examining WSN technologies in PA, emphasizing their impact on achieving smart agriculture through monitoring environmental parameters like irrigation, soil properties, and temperature. 5 Celik (2020) in his study on the impact of IoT technology on pharmaceutical green supply chain management, he notes that the distribution monitoring and remote control in this sector is becoming vital, pharmaceuticals manufacturers are always commencing more biologic products, which are highly sensitive to storage conditions. Barmpakos & Kaltsas (2021) says that lighting, temperature, humidity and ven- tilation should be appropriate and such that they do not adversely affect, directly or indirectly, either the medicinal products during their manufacture and storage, or the accurate functioning of equipment. Also storage areas should be designed or adapted to ensure good storage conditions. In particular, they should be clean and dry and maintained within acceptable temperature limits. Where special storage conditions are required (e.g. temperature, humidity) these should be provided, checked and monitored. Morchid et al. (2023) conducted a study on the applications of IoT and sensor technology to increase food security and agricultural sustainability. The research offered four levels of the IoT architecture for smart agriculture: the perception or sensing and actuator layer, the network layer, the cloud layer, and the application layer. Rajak et al. (2023) did a study on the scopes and challenges of Internet of Things and smart sensors in agriculture and noted that IoT-based smart sensors can accurately monitor environmental factors such as temperature, moisture, and humidity. By ensuring humidity protection and temperature preservation in the stockroom, it also embraces smart warehouse supervision. From the existing literature, it becomes evident that while there is a lot of infor- mation on the importance of monitoring temperature and humidity in different sectors, a notable gap exists in the availability of integrated solutions for proper storage. The current methods or solutions for monitoring temperature and hu- midity in storage areas, particularly in agriculture and pharmaceuticals, do not meet the criteria for efficiency. This is because most of the system mainly rely on manual monitoring and this is prone to human error. This study seeks to address this deficiency by developing a mobile application that seamlessly integrates with external sensors, providing a holistic solution for monitoring temperature and hu- midity in storage areas and especially within the agriculture and pharmaceutical sectors. The system aims to fill the existing gap and make a meaningful impact by improving how we monitor these conditions. 6 CHAPTER THREE METHODOLOGY 3.1 Introduction This chapter outlines how the hardware and software was integrated in order to achieve the objectives of the study. 3.2 Hardware The study aimed at utilizing DHT22 sensors for measuring temperature and rel- ative humidity, along with an ESP32 microcontroller, breadboard, resistor, and jumper wires. After setting up the hardware and installing necessary libraries, the system obtained sensor readings at user-defined intervals. The ESP32’s WiFi capabilities are activated to connect to a MQTT server, allowing data transmis- sion. Sensor data was then captured, converted to a JSON string, and sent to the server. PyMakr was used for flashing and programming the ESP32, enabling easy integration and management of microcontroller support. 3.3 Frontend The system was designed for warehouse use, where sensors placed in compart- ments were registered under specific categories. Visual Studio Code (VS Code) served as the main IDE, while Angular with TypeScript handled frontend logic. Ionic facilitated cross-platform application development, allowing deployment through native app stores. For data visualization, Chart.js and Angular Highcharts were utilized. The sys- tem incorporated forms for user registration and authentication, with a responsive dashboard displaying visualizations. A readings page allowed users to select sen- sors and view data, while an alerts page enabled setting threshold conditions and logging notifications. 3.4 Backend The system’s backend orchestrated the entire system’s operations, managing data processing, monitoring, and notification functionalities. It began with the estab- lishment of Wi-Fi connections with ESP32 modules strategically placed within warehouses to gather temperature and humidity data. This data was received by 7 Influx, which subscribed to the MQTT broker and processed the incoming data into a time-series flow, enabling efficient analysis. Subsequently, the backend component retrieved the processed data from Influx, continuously monitoring it for anomalies. Moreover, the backend encompassed various endpoints for functionalities such as warehouse creation, authorization, and calculating average temperature and humidity for specific time periods. Ro- bust authentication and authorization mechanisms ensured secure access to these functionalities. Furthermore, the backend is integrated with the GSM module to send notifica- tions promptly when sensor data exceeded predefined thresholds, ensuring proac- tive responses to critical events. This comprehensive workflow within the backend ensured efficient management of sensor data, warehouse operations, and user ac- cess, while also enabling data analysis and timely notifications to stakeholders. 8 CHAPTER FOUR SYSTEM DEVELOPMENT 4.1 Introduction This chapter aims to provide a clear and objective presentation of the results, offering a deeper understanding of the research outcomes and their implications. 4.2 Conceptual Model As shown in Figure 4.2.1 below, the sensor network transmits data to the Database and a loop begins which checks the received temperature and humidity readings against the set thresholds and incase the thresholds are exceeded, an offline mes- sage is sent to the user’s phone. Figure 4.2.1: Conceptual Model 9 4.3 Frontend This section describes the user interface and user experience of the system.This system’s frontend is broken down into 2 subsystems, the user authentication in subsection 4.3.1 and the frontend dashboard in subsection 4.3.2. 4.3.1 User Authentication User authentication subsystem provides functionalities for user registration, ac- tivation, login, and logout. Figure 4.3.1 below shows the flowchart of the user authentication process and Algorithm 1 is the user authentication algorithm used. Figure 4.3.1: User Authentication Flow Chart 10 Algorithm 1 User Authentication Start App procedure registerUser (username, password, email) if username is not already taken then Generate activation code Store username, encrypted password, email, and activation code in database Send activation email to the provided email address return ”Registration successful. Please check your email to activate your account.” else return ”Username already exists” end if end procedure procedure activateAccount (username, activationCode) if username exists in database And activation code matches stored activation code then Update account status to activated return ”Account activated successfully” else return ”Invalid activation code” end if end procedure procedure LoginUser (email, password) if email exists in database then if account is activated then Retrieve stored password for username if password matches stored password then Create session token Store session token in session data return ”Authentication successful” Redirect User to Dashboard else return ”Incorrect email or password” end if end if end if end procedure procedure logoutUser (sessionToken) if session token exists in session data then Remove sessionToken from session data return ”Logout successful” else return ”Invalid session token” end if end procedure 11 The signup page allows new users to create an account to access the features of the application. It includes a form where users can input their information, username, email address, password, and a confirmation of the password as shown in Figure 4.3.2 below. To ensure the accuracy of user-provided information, the signup page includes validation checks for all fields. In case of errors during the signup process, such as invalid input or existing account details, appropriate error messages are displayed to guide users on resolving the issues as in Figure 4.3.3 below. Figure 4.3.2: User Signup Figure 4.3.3: Signup error After signing up, the user is then redirected to the login page Figure 4.3.4 be- low, where they are able to login and if successful the user is able to access their account. 12 Figure 4.3.4: Login Page Figure 4.3.5: Login Error Only authenticated users can gain access to the application’s content. Similar to the signup page, the login page provides clear error messages to users in case of invalid credentials as in Figure 4.3.5 below. 4.3.2 Frontend Dashboard The frontend dashboard subsystem provides a user interface for visualizing sensor data and managing warehouse compartments and their specific sensors. Figure 4.3.6 below shows the flow of the dashboard subsystem. 13