<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<titulo><especial1><titulo>Desarrollo de una aplicación móvil para publicitar tiendas de centros comerciales </titulo><tituloeningles>Development of a mobile application to advertise mall stores </tituloeningles><autor>Jesús D. Ortega-Briceño  </autor><afiliacion>Universidad Rafael Urdaneta, Facultad de Ingeniería, Escuela de Ingeniería de Computación. Maracaibo, Venezuela. </afiliacion><afiliacion> https://orcid.org/0009-0003-7856-0569    Correo electrónico: jesudaniolob@gmail.com </afiliacion><autor>Diego A. Rincón-Ferrer </autor><afiliacion>Universidad Rafael Urdaneta, Facultad de Ingeniería, Escuela de Ingeniería de Computación. Maracaibo, Venezuela. </afiliacion><afiliacion> https:/0009-0003-7071-9782    Correo electrónico: diegorinconf1@gmail.com </afiliacion><autor>Jubert J. Pérez-Zabala </autor><afiliacion>Universidad Rafael Urdaneta, Facultad de Ingeniería, Escuela de Ingeniería de Computación. Maracaibo, Venezuela. </afiliacion><afiliacion> https://orcid.org/0009-0003-8615-9927    Correo electrónico: jubert.perez.10233@uru.edu </afiliacion><fechas>Recibido: 17-04-2024    Admitido: 24-04-2024    Aceptado: 30-05-2024 </fechas><resumen>Resumen </resumen><textoresumen>El trabajo de investigación tuvo como objetivo desarrollar una aplicación móvil para publicitar tiendas de centros comerciales. Esta aplicación se desarrolló para promover una herramienta de marketing digital que ayude a las tiendas y los consumidores. La aplicación fue desarrollada usando el framework React Native. El servidor HTTP, usado para procesar la información de la aplicación, fue desarrollado con Node.js. Por otra parte, la base de datos utilizada para el almacenamiento de la información fue creada con MongoDB. La investigación fue de tipo descriptiva proyectiva y de diseño documental no experimental con componente exploratorio. El desarrollo de la aplicación se realizó siguiendo la metodología de desarrollo en cascada, estando la misma dividida en cinco fases distintas. Con la ejecución de todas las fases de la metodología se consiguió crear una aplicación funcional, que es una herramienta útil, tanto para las tiendas, como para los consumidores. </textoresumen><textoresumen> </textoresumen><textoresumen>Palabras clave: Aplicación móvil, React Native, Node.js, MongoDB, tiendas, centros comerciales, publicidad, marketing digital </textoresumen><abstract>Abstract </abstract><textoabstract>The objective of this research was the development of a mobile application to advertise shopping center stores. This application was developed to promote a new digital marketing tool that helps stores and consumers. This application was developed using the framework React Native. The HTTP server, used to process application data, was developed with Node.js. While the database used to store the information was created with MongoDB. The research was descriptive and projective, with a non-experimental documentary design and exploratory component. The development of the application was carried out following the waterfall model methodology, being divided into five different phases. With the execution of all phases of the methodology, it was possible to create a functional application, which is a useful tool, both for stores and for consumers. </textoabstract><textoabstract> </textoabstract><textoabstract>Keywords:  Mobile application, React Native, Node.js, MongoDB, stores, shopping mall, advertising, digital marketing </textoabstract>  <secciones>Introducción </secciones><parrafos>Los avances tecnológicos de la última década han cambiado por completo la forma en la que las personas interactúan entre sí, cada vez las tecnologías de información y comunicación se encuentran más presentes en la sociedad y en la vida cotidiana de las personas. Una de las tecnologías más importantes de la actualidad son los teléfonos inteligentes, al contar estos equipos con aplicaciones que han digitalizado muchos procesos y actividades que previamente tenían que realizarse de forma presencial.  </parrafos><parrafos>En este mundo cada vez más digital, donde los consumidores están constantemente saturados con información, las tiendas de los centros comerciales se enfrentan al reto de encontrar nuevas estrategias para atraer clientes. En este contexto, las aplicaciones móviles se presentan como una herramienta útil para la promoción de productos, permitiendo a las tiendas comunicarse con los potenciales consumidores de una forma más efectiva. Asimismo, las aplicaciones móviles se caracterizan por poder usarse desde cualquier ubicación, en la mayoría de los casos sólo requiriendo conexión a Internet, lo cual permite a los usuarios adquirir información o realizar acciones desde la comodidad de sus hogares. </parrafos><parrafos>Según Quintero y Andrade [1] una aplicación móvil, comúnmente referida como app, se describe como un programa informático creado para operar en dispositivos móviles con el propósito de realizar diversas funciones, ya sea en ámbitos educativos, profesionales, de entretenimiento, salud, entre otros. </parrafos><parrafos>Por otro lado, Lavandeira [2] explica que la publicidad es un proceso comunicativo público. Este proceso incluye un emisor, un receptor y un mensaje, entre otros elementos. La función de la publicidad es captar la atención de potenciales clientes o seguidores para persuadirlos a apoyar los productos o servicios ofrecidos por el anunciante. Además, la publicidad digital se refiere a los anuncios que aparecen en internet. Según el mencionado autor, la publicidad digital se destaca por ser más sencilla, interactiva, económica y con un mayor alcance que otros tipos de publicidad. </parrafos><parrafos>La publicidad digital es una manera alterna de llegar a los consumidores y es efectiva en la medida del impacto que genere en el público objetivo. Este modelo de negocio no genera publicidad masiva sino inteligente, direccionada hacia consumidores con mayor porcentaje de adaptación, según sus propios gustos, perfil, aspectos psicológicos, demográficos, entre otros [3]. </parrafos><parrafos>González Pino [3] en su trabajo sobre: “Modelo de negocio para una aplicación interactiva móvil de publicidad de locales comerciales en centros comerciales de la ciudad de Medellín” obtuvieron un modelo de negocio construido de acuerdo a la metodología Lean Startup de Eric Ries y con ayuda del lienzo Canvas de Alex Osterwalder, en el que se analiza el segmento de clientes, la propuesta de valor por entregar a usuarios, la monetización del negocio, los recursos necesarios para su consecución, las alianzas clave, y demás ítems, que se vio plasmada en una aplicación móvil de publicidad digital que integra las características del modelo de negocio realizado [3]. </parrafos><parrafos>Por otro lado, Oliva Velásquez [4] en su trabajo: “Diseño e implementación de un sistema de notificación de ofertas comerciales en tiempo real vía un aplicativo móvil aplicado en las campañas publicitarias de los centros comerciales de la región Lambayeque”, desarrolló un aplicativo móvil basado en el aumento del uso de celulares 3G y dispositivos portátiles como laptops, tablets, entre otros, que incorporan tecnología Wifi y sistemas operativos que permiten el desarrollo de aplicativos como el caso concreto de Android, en el que se puso a prueba el sistema en un centro comercial de la región, obteniendo resultados positivos [4]. </parrafos><parrafos>El presente trabajo de investigación se basa en el desarrollo de una aplicación móvil con React Native para la promoción de productos en tiendas de centros comerciales. La aplicación se enfoca en ofrecer una experiencia alternativa y satisfactoria a los consumidores, en lo referente a la recepción de información y ofertas de las tiendas desde sus dispositivos móviles. Asimismo, la aplicación ofrece a las tiendas de centros comerciales una plataforma eficaz para aumentar su visibilidad, promocionar sus productos y fidelizar a sus clientes. </parrafos> <secciones>Metodología </secciones><parrafos>Este trabajo de investigación se enmarcó en un tipo de investigación descriptiva-proyectiva. La parte descriptiva de la investigación se evidenció en el análisis detallado del proceso de desarrollo de la aplicación, buscando comprender su naturaleza y comportamiento, de acuerdo a los requerimientos previstos. Por otro lado, la naturaleza proyectiva del estudio radicó en la intención de resolver una problemática específica, es decir, la necesidad de una herramienta que promueva las tiendas en centros comerciales. Aunque no se implementó la solución en un contexto real ni se evaluó su efectividad, el trabajo implicó un proceso de diseño basado en una investigación profunda. </parrafos><parrafos>El diseño del estudio se basó en un enfoque documental no experimental con componente exploratorio, donde la investigación se centró en la comprensión y descripción de fenómenos existentes sin manipular variables, adaptando tecnologías y procesos a través del diseño de la aplicación. En este orden de ideas, se empleó un diseño documental, al realizar una amplia búsqueda, análisis e interpretación de datos provenientes de fuentes documentales, como estudios previos, información técnica sobre las tecnologías utilizadas y otras fuentes relevantes. A su vez, el componente exploratorio provino de la necesidad de recolectar algunos datos primarios para obtener los requerimientos necesarios en el desarrollo del proyecto. </parrafos><parrafos>Según Fowler [5], la población es un conjunto de elementos que poseen información relevante para el estudio. Para el presente trabajo se definen dos poblaciones. La primera, formada por dueños o gerentes de tiendas de centros comerciales ubicados en la ciudad de Maracaibo. La segunda, constituida por usuarios consumidores de entre 18 y 30 años que frecuentan centros comerciales en la ciudad de Maracaibo. </parrafos><parrafos>En cuanto a la muestra, esta se define como un subconjunto de la población que se selecciona para representar a toda la población [6]. De esta manera, se tuvo como muestra de la investigación dos grupos. El primero, constituido por veinte (20) dueños o gerentes de tiendas de centros comerciales, y el segundo, representado por veinte (20) usuarios consumidores de entre 18 y 30 años que frecuentan centros comerciales. </parrafos><parrafos>Para el desarrollo de la aplicación móvil, la técnica de recopilación de información principal fue la observación documental, la cual está definida por Hurtado [7, Pág.427]  como “una técnica en la cual se recurre a información escrita, ya sea bajo la forma de datos que pueden haber sido producto de mediciones hechas por otros, o como textos que en sí mismos constituyen los eventos de estudio.”.  </parrafos><parrafos>Además de la observación documental, también se utilizaron encuestas como técnica de recolección de datos. Según Dillman et al., [8], las encuestas pueden ser de preguntas cerradas, donde los encuestados eligen una respuesta de un conjunto predefinido de opciones o de preguntas abiertas, donde los encuestados pueden responder libremente. En el transcurso de la investigación se hicieron encuestas a las muestras definidas, con el fin de obtener datos sobre los requerimientos funcionales de la aplicación o para realizar pruebas de aceptación. </parrafos><parrafos>La presente investigación toma como base metodológica de desarrollo al “modelo cascada” o “metodología cascada” para lograr el cumplimiento del objetivo general. La característica principal del modelo es su enfoque secuencial para el desarrollo de software, consistiendo de una serie de fases ordenadas de manera lineal. Cada fase debe completarse y producir entregables que sirvan como cimientos antes de pasar a la siguiente. Las fases de modelo cascada, adaptadas en base a los objetivos y alcance de la investigación, se componen de requerimientos, diseño, desarrollo, pruebas y despliegue de demostración. </parrafos><secciones>Resultados </secciones><parrafos>En esta sección se detalla el proceso de desarrollo de la aplicación móvil, apreciando la forma cómo se ejecutaron cada una de las cinco fases de la metodología de desarrollo en cascada, las cuales llevaron al cumplimiento del objetivo de la investigación. </parrafos><subtitulos> </subtitulos><subtitulos> </subtitulos><subtitulos>Fase 1. Requerimientos de la aplicación móvil para publicitar tiendas de centros comerciales </subtitulos><parrafos>La aplicación desarrollada en la presente investigación debe estar diseñada para poder servir tanto a clientes, como a tiendas de centros comerciales, facilitando la comunicación e interacción entre ambos. </parrafos><parrafos>Se buscó ayudar a las tiendas a ofrecer sus productos, al permitir publicar información importante de los mismos, así como promociones que podrían ser de interés a los consumidores. De esta forma, los usuarios podrán visualizar desde sus casas el contenido publicado por las tiendas y, en caso de que haya algún producto que satisfaga sus necesidades y les interese, podrían dirigirse a la tienda en el centro comercial para comprarlo.  </parrafos><parrafos>Asimismo, la presente aplicación debe permitir a los usuarios realizar acciones como enviar mensajes o reseñas a una tienda o sus productos, con la finalidad de que las tiendas tengan un centro de retroalimentación para su constante mejora. De manera similar, los usuarios deben poder marcar su interés por productos o tiendas para ser informados sobre cualquier actualización a los productos o promociones, o también para visualizar la información de sus tiendas preferidas de forma sencilla.  </parrafos><parrafos>En el aspecto de distribución de la aplicación, se busca un sistema genérico, que pueda ser adoptado por cualquier centro comercial interesado con solo hacer cambios mínimos de personalización, según las peticiones del mismo centro comercial para seguir su marca.  </parrafos><parrafos>Con el fin de recolectar la información necesaria mediante la cual determinar los requerimientos funcionales, se realizaron dos encuestas, una para tiendas y otras para usuarios. A partir de las respuestas se pudo determinar una serie de requerimientos funcionales para definir el alcance que debe tener la aplicación móvil. </parrafos><subtitulos>Fase 2. Diseño de la arquitectura de la aplicación móvil según los requerimientos de las tiendas de centros comerciales. </subtitulos><parrafos>Para el diseño de la arquitectura de la aplicación se realizó un análisis de las distintas tecnologías y arquitecturas que podrían ser utilizadas para el desarrollo de la aplicación, tomando en cuenta los requerimientos definidos, con el fin de realizar los diagramas y prototipos necesarios para el desarrollo del sistema (Figuras 1 y 2) </parrafos><parrafos> </parrafos><titulodetablayfigura>Figura 1. Diagrama entidad relación de la base de datos. </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura>Figura 2. Arquitectura del servidor de la aplicación. </titulodetablayfigura><subtitulos>Estructura de la API del servidor </subtitulos><parrafos>El servidor está configurado con una estructura de rutas organizada para facilitar la navegación y comprensión de las funcionalidades disponibles.  Las rutas se agrupan en secciones lógicas que representan diferentes entidades dentro del sistema. Estas rutas se dividen de acuerdo a la entidad principal que es manejada por la ruta o la función que esta cumple, teniendo así rutas de autenticación (auth), usuarios (users), tiendas (stores), productos (products) o promociones (promos). </parrafos><parrafos>Asimismo, cada ruta del servidor posee una permisología con los roles que tienen acceso a las misma, el método HTTP (GET, POST, PUT, DELETE) de la ruta y el endpoint al que se le hace la llamada. Cada ruta debe cumplir uno o varios requerimientos funcionales. </parrafos><subtitulos>Diagramas de caso de uso de la aplicación </subtitulos><parrafos>Los casos de uso, introducidos por Ivar Jacobson en 1987 [9], son una técnica fundamental, incorporada a UML, usada para capturar los requisitos funcionales de un sistema. Se basan en la idea de describir cómo los usuarios, o “actores”, interactúan con el sistema para lograr sus objetivos específicos. </parrafos><parrafos>Estos casos de uso se realizaron tomando en cuenta todas las funcionalidades que los usuarios, ya sean consumidores, tiendas o administradores. La Figura 3 representa un diagrama que describe el caso de uso de gestionar las promociones, siendo el actor que ejecuta la acción las tiendas del centro comercial.  </parrafos><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura>  </titulodetablayfigura><titulodetablayfigura>Figura 3. Caso de uso de gestionar promociones. </titulodetablayfigura><subtitulos>Prototipos de pantallas de la aplicación </subtitulos><parrafos>Para el desarrollo de los prototipos de las pantallas de la aplicación, se crearon diseños con la plataforma Figma, la cual ofrece herramientas de diseño utilizadas para realizar interfaces gráficas, representando las distintas vistas que serán visualizadas por los usuarios de la aplicación. Los prototipos de las pantallas sirvieron como la base al momento de desarrollar la interfaz de usuario de la aplicación móvil. En la Figura 4 se observa el prototipo para la pantalla de exploración que tiene un usuario consumidor y en la Figura 5 se presenta la arquitectura del cliente de la aplicación. </parrafos><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura>Figura 4. Prototipo de pantalla de exploración.  </titulodetablayfigura><parrafos> </parrafos><parrafos>La Figura 5 muestra el diagrama de la arquitectura del cliente de la aplicación. </parrafos><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura>Figura 5. Arquitectura del cliente de la aplicación. </titulodetablayfigura><subtitulos>Fase 3. Desarrollo del código de la aplicación móvil para las tiendas de centros comerciales </subtitulos><parrafos>Para poder manejar el código escrito de manera versionada, se crearon dos repositorios de GitHub, uno para el servidor y otro para la aplicación de React Native. En esta fase se creó una aplicación funcional, lista para la fase de pruebas. </parrafos><parrafos>El servidor consiste en distintos archivos que se aseguren de preservar la modularidad del proyecto. Naturalmente, se tiene la carpeta raíz, la cual puede ser apreciada usando el entorno de desarrollo de Visual Studio Code, tal como se visualiza en la Figura 6. </parrafos><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura>Figura 6. Estructura de las carpetas del servidor. </titulodetablayfigura><parrafos>De esta manera, se encuentran distintos elementos como son:  </parrafos><especial1>package.json, package-lock.json: archivos donde se encuentran las distintas dependencias, las configuraciones básicas y los scripts del proyecto.  </especial1><especial1>.gitignore: archivo donde se especifican los elementos que serán ignorados por el controlador de versiones a la hora de registrar un cambio.  </especial1><especial1>.eslintrc.json, .eslintignore, .prettierrc.json, .prettierignore: archivos de configuración de Prettier y ESLint, que son extensiones externas que facilitan la implementación de buenas prácticas al redactar el código.  </especial1><especial1>src: carpeta donde se encuentran los recursos de la aplicación, en esta carpeta se encuentra lo siguiente:  </especial1><especial2>controllers: es la carpeta que contiene los archivos en los que se maneja la lógica de la API. </especial2><especial2>middlewares: es la carpeta donde se encuentran los distintos middlewares que serán usados por la aplicación de express durante las llamadas a las rutas.  </especial2><especial2>models: esta carpeta contiene los archivos que definen la estructura de los datos que serán usados por la librería de mongoose para administrar la base de datos de MongoDB. </especial2><especial2>routes: esta carpeta tiene los archivos con las distintas rutas de la API. </especial2><especial2>services: es la carpeta donde se encuentran los archivos que manejan las interacciones de la aplicación con la base de datos de mongoDB. </especial2><especial2>utils: esta carpeta contiene archivos con funciones comunes que se reutilizan en todo el proyecto. </especial2><especial2>validations: carpeta que contiene las validaciones para los procesos que reciben datos en el cuerpo (body) de la petición HTTP.  </especial2><especial2>app.js: es el archivo donde se realiza la configuración esencial de la aplicación de express. </especial2><especial2>index.js: es el archivo principal de la API, es el que se encarga de iniciar la conexión a la base de datos de mongoDB y de inicializar la aplicación de Express.js en un puerto configurado en las variables de entorno. </especial2><parrafos>Asimismo, el cliente de la aplicación, de manera similar que el servidor, está dividido en distintas carpetas y archivos para conseguir modularidad en el código, con el objetivo de conseguir una estructura de código mantenible. Desde la raíz del proyecto, se tiene la estructura de carpetas como se ve en la Figura 7. </parrafos><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura>Figura 7. Estructura de las carpetas del cliente. </titulodetablayfigura><parrafos>De esta estructura, se resaltan los elementos principales que componen la base fundamental del cliente de la aplicación móvil: </parrafos><especial1>package.json, package-lock.json: archivos donde se encuentran las distintas dependencias, las configuraciones básicas y los scripts del proyecto.  </especial1><especial1>.gitignore: archivo donde se especifican los elementos que serán ignorados por el controlador de versiones a la hora de registrar un cambio.  </especial1><especial1>.eslintrc.js, .eslintignore, .prettierrc: archivos de configuración de Prettier y ESLint, que son extensiones externas que facilitan la implementación de buenas prácticas al redactar el código. </especial1><especial1>app.json: archivo de configuración de la aplicación. En esta configuración se definen elementos como el ícono, pantalla de despliegue y el nombre de la aplicación, siendo este último el que verá el usuario al instalarla. </especial1><especial1>google-services.json: archivo de configuración para conectarse a los servicios de Google, usados por los servicios de Expo para enviar notificaciones a los dispositivos móviles. </especial1><especial1>src: carpeta donde se encuentran los recursos de la aplicación, en esta carpeta se encuentra lo siguiente:  </especial1><especial2>app: es el punto de entrada de la aplicación. Esta carpeta es usada por el enrutador de archivos de Expo Router para definir las rutas y pantallas que serán usadas para navegar a través de la aplicación. Dentro, existen otras carpetas y archivos, donde un archivo representa una ruta y una carpeta su ruta padre. Las carpetas que contengan paréntesis “()” en su nombre, no contarán como rutas de la aplicación, por lo que la estructura &lt;(auth)/login.jsx&gt; daría como resultado la ruta “/login”, a diferencia de la estructura &lt;store/reviews.jsx&gt; que da como resultado “/store/reviews”. Dentro de los archivos se encuentra el código de las pantallas de cada ruta. Por otra parte, se encuentran los archivos &lt;_layout.jsx&gt;, los cuales definen la navegación de la carpeta de ruta en la que se encuentren. </especial2><especial2>components: es la carpeta donde se encuentran los distintos componentes creados con React Native. Estos representan las piezas de código de interfaz de usuario reutilizables a través de toda la aplicación. Están construidos a partir de componentes propios de React Native y los incluidos en la librería de React Native Paper. </especial2><especial2>hooks: en esta carpeta se encuentran las piezas de lógica de negocio reutilizables que hacen uso de los hooks de React. Entre los hooks se encuentra &lt;useImagePicker.js&gt;, el cual reutiliza la capabilidad de tener acceso a la galería del usuario para obtener imágenes, por ejemplo. </especial2><especial2>screens: a pesar de que las pantallas están definidas y escritas dentro de la carpeta &lt;app&gt;, es posible que haya que repetir la misma pantalla en una ruta diferente. Para evitar la duplicación de código, la carpeta &lt;screens&gt; contiene pantallas como componentes de React. Por ejemplo, se tiene la pantalla para visualizar el detalle de un producto, que puede ser accedida por un usuario o por una tienda. </especial2><especial2>services: es la carpeta donde se encuentran encapsulada las peticiones a la API del servidor. Dentro se pueden conseguir dos carpetas, siendo &lt;api&gt; donde se contiene las funciones puras de fetch utilizando la librería de Axios para realizar las peticiones HTTP, y hooks donde se contienen funciones creadas con la librería Tanstack Query, que realizan las peticiones y permiten obtener una serie de parámetros con los que se puede acceder a los datos, estados de carga y errores de manera eficiente y reutilizable. </especial2><especial2>settings: esta carpeta contiene los archivos de configuración para los datos estáticos y personalizables del centro comercial, como puede ser el nombre, el logo o el tema de la aplicación. Asimismo, se tiene un archivo de configuración de Firebase, utilizado para guardar las imágenes que se suban a la aplicación. </especial2><especial2>stores: contiene archivos de configuración para almacenamiento de estado global, haciendo uso de la librería Zustand. De esta manera, se puede acceder a datos y enviarlos entre componentes de la aplicación en tiempo de ejecución de manera eficiente y mantenible. </especial2><especial2>utils: esta carpeta contiene archivos con funciones comunes que se reutilizan en todo el proyecto. </especial2><subtitulos>Pantallas de la aplicación </subtitulos><parrafos>Las pantallas de la aplicación representan el punto final del desarrollo de la interfaz de usuario del proyecto. Estas utilizan los componentes construidos y aplican la lógica necesaria para cumplir con los requerimientos funcionales. En la Figura 8 se muestra la pantalla de exploración luego de haber finalizado la fase de desarrollo de código, es decir, es la interfaz de usuario final. </parrafos><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> Figura 8. Pantalla de exploración. </titulodetablayfigura><subtitulos>Fase 4. Pruebas de software a la aplicación móvil para las tiendas de centros comerciales. </subtitulos><parrafos>Una vez realizada la aplicación móvil y el servidor, se realizó una serie de pruebas con el objetivo de garantizar que la aplicación cumpla todos los requerimientos del sistema. Se practicaron pruebas de integración que se encargaron de verificar que todos los elementos que componen el sistema funcionan correctamente al probarlos en grupo y por lo tanto se encuentran bien integrados. Asimismo, con el fin de probar los tiempos de respuesta y el porcentaje de peticiones realizadas de manera exitosa ante una carga elevada, se usó la herramienta de Apache JMeter, la cual permite simular peticiones paralelas a través de hilos. Mediante estas pruebas se pudo comprobar que no hubo ningún error en las peticiones, por lo que el servicio es confiable en la entrega de datos.  </parrafos><parrafos>Finalmente, se realizaron pruebas de aceptación. Según Zap [10], las pruebas de aceptación “son el último paso del proceso de desarrollo de software. En esta fase del proceso, se compila un producto finalizado y se envía a una serie de usuarios del mundo real para que den su opinión”. Según lo mencionado, es importante realizar esta prueba para saber que el producto es usable y tiene una buena experiencia de usuario. </parrafos><parrafos>Para el caso de la aplicación móvil desarrollada en este trabajo, se seleccionó a un grupo de veinte (20) personas pertenecientes a la muestra de usuarios consumidores y se realizó una encuesta de escala Likert, la cual contiene diez (10) preguntas que los usuarios deben responder, lo cual permitió saber que la aplicación es completamente funcional, aunque es posible realizar mejoras, específicamente en los aspectos referentes al diseño y el rendimiento de la aplicación.  </parrafos><subtitulos>Fase 5. Demostración de la aplicación móvil para publicitar tiendas de centros comerciales </subtitulos><parrafos>Una vez realizadas las pruebas de software pertinentes para confirmar que la aplicación funcione de forma correcta y eficiente, es necesario realizar un despliegue del servidor y de la aplicación móvil, de forma que cualquier persona con la APK y conexión a internet pueda utilizarla en su propio dispositivo. Para propósitos de este proyecto, se realizó un despliegue haciendo uso de servicios gratuitos de internet como Render y Expo Application Services (EAS). </parrafos><parrafos>En la Figura 9 se muestra un diagrama de despliegue de la aplicación de demostración. En este diagrama el cliente se comunica con el servidor en Render a través del APK de la aplicación. El servidor se comunica con la base de datos en MongoDB para obtener cualquier dato necesario de una petición. A su vez, el servidor se comunica con el servidor de Expo para solicitar el envío de notificaciones a los clientes cuando se amerite. </parrafos><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura> </titulodetablayfigura><titulodetablayfigura>Figura 9. Diagrama de despliegue de la demostración. </titulodetablayfigura><parrafos>Para el servidor de Express, se realizó el despliegue en la plataforma en línea conocida como Render. Esta plataforma fue elegida debido a su facilidad para realizar despliegues de servidores hechos en Node.js de forma gratuita. Simplemente fue necesario iniciar sesión, ya sea con GitHub, GitLab, Google o una cuenta propia de Render, seleccionar el repositorio para crear un servicio web y realizar las configuraciones básicas del despliegue, como los comandos de construcción, inicio o las variables de entorno.  </parrafos><parrafos>El ejecutable de la aplicación es la pieza y objetivo final del proyecto, pues representa la culminación de todas las fases de la metodología de desarrollo propuestas. Para los propósitos de esta demostración, se utilizaron los servicios de aplicación de Expo para construir un ejecutable de tipo APK (Android). Para crear el ejecutable fue necesario configurar el archivo eas.json, iniciar sesión en EAS (usando el paquete de interfaz de línea de comandos (cli) de EAS), hacer que el proyecto sea compatible con EAS, prepara el proyecto para la construcción y construir el APK. A partir del APK, se puede instalar la aplicación en cualquier dispositivo Android compatible.  </parrafos><subtitulos>Conclusiones </subtitulos><parrafos>El desarrollo de esta investigación surge ante la necesidad de una herramienta de marketing digital especializada para las tiendas de centros comerciales, por lo que se dio inicio a un proyecto que busca crear un software que permita a las tiendas y sus clientes tener un medio centralizado para acceder y distribuir su información de catálogo de manera sencilla, mejorando la publicidad de las tiendas y la experiencia del cliente. </parrafos><parrafos>Se realizó una recopilación de datos mediante el uso de encuestas y entrevistas no estructuradas, siendo estos datos utilizados en un análisis para identificar las necesidades de las tiendas y los clientes, a partir de las cuales se logró determinar los requerimientos de la aplicación móvil para publicitar tiendas de centros comerciales. Tomando en cuenta los anteriores requerimientos que debe satisfacer el software, se pudo crear una serie de diagramas, modelos y prototipos, los cuales representan el diseño de la arquitectura de la aplicación móvil. </parrafos><parrafos>La arquitectura diseñada se implementó correctamente durante la creación de la base de datos de MongoDB y el desarrollo de los repositorios del servidor y de la aplicación móvil, siendo la arquitectura la base a partir la cual se consiguió desarrollar el código de la aplicación móvil para publicitar tiendas de centros comerciales.  </parrafos><parrafos>Con la finalidad de comprobar la calidad del software desarrollado, se realizaron pruebas de software a la aplicación móvil, lo cual fue de suma importancia para evaluar el rendimiento, la calidad y la efectividad del software, confirmando que la aplicación móvil desarrollada cumple todos los requerimientos definidos y que su uso está justificado. Las pruebas realizadas fueron de integración, rendimiento y aceptación.  </parrafos><parrafos>Una vez finalizado el desarrollo y las pruebas de software, se consiguió desplegar una aplicación móvil demostrativa para publicitar tiendas de centros comerciales. Para el despliegue se hizo uso de una base de datos de MongoDB en su servicio de Mongo Atlas, un servidor de Express en Node.js en los servicios en la nube de Render y la creación del APK de la aplicación móvil totalmente funcional con los servicios de aplicación de Expo, afirmando de esta manera que el proyecto logró alcanzar exitosamente el objetivo de desarrollar una aplicación para publicitar tiendas de centros comerciales. </parrafos><parrafos>Sin embargo, como cualquier software, esta aplicación móvil tiene la capacidad de seguir desarrollándose, para convertirse en un mejor producto. Se podrían hacer mejoras en los aspectos señalados por los usuarios en las pruebas de aceptación realizadas. De igual manera, se podría encuestar y tratar de recolectar más información con la finalidad de agregar funcionalidades como módulos o servicios de compra en línea, envíos a domicilio, realizar reservaciones o encargos en línea, así como buscar más oportunidades de generar interacción con el centro comercial que esté interesado en la aplicación. </parrafos><secciones>Referencias </secciones><parrafos>[1] J. Quintero, y L.Andrade “Desarrollo de Solución Tecnológica para Centros Comerciales con Geolocalización como Funcionalidad Base”. Trabajo de fin de grado, Univ. Central de Venezuela. Caracas, Venezuela, 2017. </parrafos><parrafos>[2] S.Lavandeira, “Publicidad digital”. Humanidades Digitales: desafíos, logros y perspectivas de fututro. Janus, Anexo. 1, 257-262, 2014. </parrafos><parrafos>[3] P. González, y R. David, “Modelo de negocio para una aplicación interactiva móvil de publicidad de locales comerciales en centros comerciales de la ciudad de Medellín”. Tesis de Maestría. Univ. EAFIT. Medellín, Colombia, 2015.  </parrafos><parrafos>[4] J.L. Oliva Velásquez, “Diseño e implementación de un sistema de notificación de ofertas comerciales en tiempo real vía un aplicativo móvil aplicado en las campañas publicitarias de los centros comerciles de la región Lambayeque”. Trabajo de fin de grado. Univ. Señor de Sipam, Pimentel. Lambayeque, Perú, 2014 </parrafos><parrafos>[5] F.J. Fowler, Survey research methods. 4th edition. SAGE Publications, Inc., 2009. </parrafos><parrafos>[6] E. R. Babbie, The practice of social research. 12th edition. Wadsworth, Cengage Learning, 2010. </parrafos><parrafos>[7] J. Hurtado, Metodología de la investigación Holística. Caracas. SYPAL, 2000. </parrafos><parrafos>[8] D.A.Dillman, J. D. Smyth,  &amp; L. M. Christian, Internet, phone, mail, and mixed-mode surveys: the tailored design method. 4th edition. John Wiley &amp; Sons, 2014. </parrafos><parrafos>[9] I.Jacobson, I. Spence, K.Bittner, Casos de uso 2.0. La guía para ser exitoso con los casos de uso. Ivar Jacobson International, 2013. </parrafos><parrafos>[10] A. Zap “Pruebas UAT – ¡Una inmersión profunda en el significado de aceptación del usuario, tipos, procesos, enfoques, herramientas y más!”. Zaptest, 2024. [En Línea]. Disponible en: https://www.zaptest.com/es/pruebas-uat-una-inmersion-profunda-en-el-significado-de-aceptacion-del-usuario-tipos-procesos-enfoques-herramientas-y-mas  </parrafos></especial1></titulo>
