This study was conducted with the objective of designing and developing a multiplatform mobile application to optimize the emergency notification processes within the Escuela Superior Politécnica de Chimborazo (ESPOCH). The research adopts a descriptive and applied methodological approach, integrating both qualitative and quantitative techniques. The entire process was framed under the Mobile-D agile development methodology, which is characterized by its iterative cycles, rapid prototype deliveries, and adaptability to small development teams [
9]. The project was executed through five sequential phases: exploration, initiation, product, stabilization, and testing [
10]. Given the nature of the project, the study follows a non-experimental design, focusing on the development and functional evaluation of a technological solution within a controlled environment. All validation procedures were carried out through system-level testing and simulated scenarios, without the involvement of human participants or animal subjects. Consequently, the research process adhered to institutional guidelines and did not require ethical approval, as no interventions affecting human or animal welfare were conducted.
2.1. Exploration Phase
During the exploration phase, a comprehensive analysis of ESPOCH’s current emergency notification protocols was performed through observation techniques and document analysis [
11]. Structured interviews were conducted with key stakeholders, specifically the Security Unit personnel, to gather insights into the inefficiencies of the existing manual reporting process. This qualitative data collection allowed for an in-depth understanding of the operational gaps, which informed the system requirements, as illustrated in
Figure 1.
Figure 1 illustrates the operational workflow that begins with locating the security guard and extends through the assistance and coordination stages. The diagram includes a decision point to verify whether the alert has been resolved; if so, the system automatically sends a report via WhatsApp, which can be viewed by the administrator for proper supervision.
This description is essential within the context of the study, as the article focuses on the optimization of the emergency notification process, aiming to reduce response times and improve the traceability of the actions performed. It should be noted that the presented workflow constitutes the object of improvement in the case study, without delving into the specific actions taken by the security guard to resolve the alert.
Prior to the system’s development, a series of coordination meetings were held with Coordinator of the Security Unit at ESPOCH. These sessions were crucial to thoroughly identify, analyze, and define the functional requirements necessary for the mobile application [
12]. Through collaborative discussions, the current shortcomings in emergency communication and response processes were assessed, and specific needs were outlined to ensure that the proposed technological solution would adequately address the institution’s operational demands. Based on these meetings, it was determined that the multiplatform solution would encompass three primary user roles: User, Security Guard, and Administrator. Each role encapsulates distinct responsibilities and system interactions, requiring dedicated functionalities tailored to its operational context.
The User role represents students, faculty, and staff members who can initiate emergency alerts, provide location information, and receive system notifications.
The Security Guard role is responsible for monitoring incoming alerts, responding to incidents, and updating the status of ongoing situations through the application’s administrative interface.
The Administrator role oversees the overall management of the platform, including user role assignments, monitoring historical data, generating reports, and configuring system parameters.
To precisely define the specific functionalities associated with each role, detailed functional requirements were established, ensuring that every user interaction within the system aligns with the operational protocols of the Institutional Security Unit. These requirements were systematically organized by role, providing a comprehensive overview of the essential functionalities. This structured definition was fundamental in guiding the development process, ensuring that the application’s design was based on the real needs of its end users and, consequently, increased the system’s efficiency in emergency response scenarios.
The first set of requirements corresponds to the user role, which represents the institutional community (students, faculty, and administrative staff). These functionalities are designed to ensure that users can rapidly request assistance and remain informed throughout the response process. When a user triggers an alert, the system not only records the event but also allows the user to see, in real time, how the security guard is approaching their location, which reinforces confidence in the system. Furthermore, two types of alerts are supported: an emergency alert, similar to a panic button, intended for critical situations, and a descriptive alert, which enables users to report irregularities or suspicious activities within the campus. The functional requirements for this role are listed in
Table 1.
The second set of requirements corresponds to the security guard role, whose responsibilities are focused on responding to alerts, coordinating assistance, and reporting outcomes. Unlike members of the institutional community, security guards belong to an external company and therefore do not have institutional email accounts. For this reason, a dedicated registration process was implemented for them, managed directly by the Institutional Security Unit. These functionalities allow guards to interact with user-submitted alerts, track locations in real time, and generate operational reports, thereby ensuring a rapid and efficient emergency response, as shown in
Table 2.
Only non-sensitive identification elements such as the name, surname, and photograph of the assigned guard are displayed. This supports recognition in the field and enables precise user feedback on the quality of the intervention, improving transparency and service traceability without exposing sensitive personal information.
Guards can update the alert status as part of the operational flow. When a guard accepts an alert, the status changes to “In Progress.” If the guard cancels it, the status reverts to “Requested.” After submitting the incident report and once the user feedback is recorded, the status transitions to “Completed.” State changes are synchronized in real time through the backend and database.
The Security Guard does not originate alerts within the system. Guards maintain direct radio communication (walkie-talkie) with the ESPOCH Security Unit, the administrative team that also monitors the institutional video surveillance system, ensuring continuous situational awareness. Consequently, alerts are raised by members of the university community (Users), while guards receive and respond to those alerts.
The visualization of alert progress was intentionally implemented because it is essential for the user to know whether the security guard is on the way. In critical emergency situations, users must receive immediate feedback on the status of their alerts. Without such feedback, users may experience uncertainty and delayed reactions. Although displaying progress might suggest that a specific guard is currently occupied, overall coverage remains unaffected because multiple guards are strategically distributed across campus zones, ensuring continuous response capacity. If a false alert causes a guard to move from a strategic location, administrators can reassign positions through radio communication to maintain optimal coverage and operational efficiency.
Finally, the third set of requirements corresponds to the administrator role, managed by the Institutional Security Unit through the web platform. These functionalities are designed to oversee, coordinate, and analyze the entire alert management process, including adding and managing personnel, monitoring alert statuses, and generating reports.
The institution employs several security guards, whose registration is managed by the administrator through the web system. Administrators can register guards individually by entering their national identification number or in bulk by uploading a CSV file. Once registered, guards can access their personal dashboard in the mobile application.
These requirements are essential to ensure traceability, operational transparency, and institutional accountability, as shown in
Table 3.
The definition of non-functional requirements (NFRs) was a key aspect in ensuring that the application met quality standards essential for its optimal operation. These requirements, summarized in
Table 4, addressed critical aspects such as usability, performance, scalability, and security. Unlike functional requirements, which specify the application’s core features, NFRs ensure that these features are delivered reliably and efficiently across different usage scenarios.
By establishing clear non-functional criteria, the development process was guided toward building a robust and stable solution capable of sustaining high performance while maintaining a seamless user experience. These requirements were crucial in complementing the functional specifications, contributing to the system’s overall resilience and long-term maintainability. The product phase involved the incremental development of the application’s core functional modules:
Authentication Module: Implementing integration with ESPOCH’s Central Authentication Service (CAS) for regular users and a custom login interface for security personnel.
Emergency Report Module: Enabling users to submit emergency alerts with geolocation data.
Role-Based Dashboards: Providing customized interfaces for users, security guards, and administrators.
Administrator Web Panel: Allowing security personnel to manage incident reports, track alert statuses, and visualize reported incidents on a real-time map.
2.2. Initiation Phase
The initiation phase focused on configuring the technological infrastructure. The Flutter framework was selected for cross-platform development, enabling a unified codebase deployment across Android, iOS, and Web platforms. Backend services were implemented using Node.js with Express.js, adopting a RESTful API architecture to ensure scalable and modular communication between frontend and backend components [
13]. The Firebase Realtime Database was chosen for its real-time data synchronization capabilities, facilitating immediate alert transmission and system updates. Development tasks were managed using Visual Studio Code version 1.100 as the Integrated Development Environment (IDE) [
14], leveraging Dart as the primary programming language. The interaction between these components is depicted in
Figure 2.
The project utilized Firebase Realtime Database, a cloud-based NoSQL database that stores information in JSON format and organizes data through a node-based structure [
15]. This architecture was particularly suited for the application’s needs, enabling real-time data exchange and dynamic queries essential for emergency alert systems. Additionally, Firebase Storage was implemented to manage image files associated with emergency alerts and user profile pictures, providing scalable and secure media storage capabilities [
16]. Unlike relational databases, Firebase does not use table-based schemas; instead, its structure was documented through a detailed data dictionary, defining the organization and hierarchy of nodes. The complete data dictionary can be found in
Appendix A (
Table A1,
Table A2,
Table A3,
Table A4,
Table A5,
Table A6,
Table A7,
Table A8,
Table A9,
Table A10,
Table A11,
Table A12 and
Table A13) of this paper, where the structure of each node and its corresponding attributes are described in detail. To ensure data integrity and consistency, normalization processes were applied up to the Third Normal Form (3NF), effectively eliminating data redundancy and ensuring efficient data retrieval across different modules. The main database nodes included Users, Guards, Administrators, Reports, and Alerts, each designed to store diverse data types such as lists, objects, and text strings. This flexible data model allowed seamless integration with the application’s core functionalities while maintaining high availability and scalability for real-time operations.
The automated emergency notification process designed within the application involves the active participation of the three primary user roles: User, Security Guard, and Administrator. Each role plays a critical part in ensuring the effective management and resolution of emergency situations reported through the system. The following sequence outlines the step-by-step activities that occur during an emergency notification workflow:
The User submits an emergency alert via the mobile app.
The Administrator and Security Guard receive the notification in real time.
The Security Guard accepts and acknowledges the alert.
The Administrator coordinates the response with the Guard.
The Administrator monitors the alert’s progress.
The Guard proceeds to the incident location using geolocation guidance.
After resolving the issue, the Guard submits an incident report.
The User provides feedback on the emergency response.
The Administrator reviews the report and feedback via the web dashboard.
This automated workflow, illustrated in
Figure 3, describes the complete lifecycle of an emergency notification within the proposed system. The process begins when the institutional community, composed of students, faculty, and administrative staff, submits an alert through the mobile application, capturing essential information such as geolocation, timestamp, and a brief description of the incident. Community members authenticate through the institutional Central Authentication Service (CAS), which ensures secure access for all users with institutional credentials. The notification is immediately transmitted via cloud services to both the security guards and the Institutional Security Unit, which is the department responsible for monitoring and coordinating all aspects of safety within the institution. Since security guards belong to an external company and do not have institutional email accounts, they access the system through a dedicated registration process managed by the Institutional Security Unit. Once the nearest guard accepts the assistance request, the Institutional Security Unit coordinates the response and continuously monitors the progress of the intervention through its web-based platform. The guard then proceeds to the reported location, provides the necessary support, and completes a detailed incident report, which may include descriptive notes and supporting evidence. In parallel, the community member who initiated the alert may provide feedback on the service received, contributing to the evaluation of quality. Finally, the Institutional Security Unit reviews and validates the completed report, archiving it in the database to ensure traceability, operational clarity, and accountability. It is worth noting that this multiplatform ecosystem was developed using the Flutter framework, which enabled the deployment of native mobile applications for both the community and the guards, along with a web version for the Institutional Security Unit. By integrating these technologies into a unified process, the system significantly enhances communication, reduces response times, and establishes a structured framework for institutional safety management.
Multiple guards are managed through the web module by the Security Unit, either individually using their national ID or through bulk import from Excel files. When an alert is issued, notifications are sent to all registered guards, and the first one to accept it is automatically assigned to the incident. This prevents duplicate assignments and minimizes response time.
2.5. Testing Phase
In the final phase, targeted testing was performed to ensure the application operated correctly and met the defined functional requirements. Real-world usage scenarios were simulated, allowing the identification and resolution of issues during the review process. A notable problem was detected with background services, affecting geolocation tracking and notifications when the app was minimized. This was resolved by replacing the faulty dependency with a more stable alternative, improving the application’s stability and performance. The main objective was to verify that the system was error-free and fully aligned with the user requirements established in the exploration phase. Functional flows, including alert submission, location tracking, and notification delivery, were rigorously tested to ensure reliability. An illustrative example of the application’s core functionality is depicted in
Figure 11, which showcases the complete workflow of an emergency alert being initiated by a user and successfully processed through the system until the acknowledgment by security personnel. This figure encapsulates the essential operational flow, emphasizing the seamless transition between user action and administrative response, thus demonstrating the application’s readiness for real-world deployment.
The materials generated and utilized in this study, including the source code, API documentation, and anonymized test datasets, are available upon reasonable request from the corresponding author. Due to institutional data governance policies, operational datasets related to ESPOCH’s internal security procedures are not publicly accessible. Nevertheless, the anonymized data used for system evaluation, as well as the architectural documentation, can be provided to researchers aiming to replicate or extend the study.
This research does not involve interventionary studies with human participants, biological samples, or animal testing. The developed application processes operational data (such as geolocation coordinates and incident types) that are not classified as sensitive personal information. No personal identifiers, health data, or confidential user information were collected or analyzed. Consequently, ethical approval from an institutional review board was not required. All testing procedures were conducted in controlled simulations, ensuring compliance with ESPOCH’s data privacy policies.