Artículos

Plataforma web y móvil para la difusión de ofertas de PYMES mediante geolocalización

Web and mobile platform for the dissemination of SMEs offers through geolocation

Cevallos-Valdivieso, Juan Francisco; Saldaña-Cueva, Fernando; Palacios-Orellana, Andrés; González-Eras, Alexandra

Juan Francisco Cevallos-Valdivieso

jfcevallos8@utpl.edu.ec

Universidad Técnica Particular de Loja Ecuador

Fernando Saldaña-Cueva

fasaldana@utpl.edu.ec

Universidad Técnica Particular de Loja Ecuador

Andrés Palacios-Orellana

aepalacios7@utpl.edu.ec

Universidad Técnica Particular de Loja Ecuador

Alexandra González-Eras

acgonzalez@utpl.edu.ec

Universidad Técnica Particular de Loja Ecuador

Revista Tecnológica ESPOL - RTE

Escuela Superior Politécnica del Litoral, Ecuador

ISSN: 0257-1749

ISSN-e: 1390-3659

Periodicidad: Semestral

vol. 36, núm. 1, Esp., 2024

rte@espol.edu.ec

Recepción: 15 Julio 2024

Aprobación: 03 Octubre 2024

URL: https://portal.amelica.org/ameli/journal/844/84451288445128010/

DOI: https://doi.org/10.37815/rte.v36nE1.1217

License Creative Commons
Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial 4.0 Internacional.

Modelo de publicación sin fines de lucro para conservar la naturaleza académica y abierta de la comunicación científica

ePub generado a partir de XML JATS4R

Resumen: El proyecto se centra en el desarrollo de un negocio digital Freemium para PYMES mediante una plataforma web y móvil que permite a las empresas y negocios registrar y mostrar sus productos y promociones de manera efectiva y accesible y acceder a posibles compradores en tiempo real. A través de esta aplicación, las empresas pueden crear perfiles detallados que incluyen imágenes y descripciones de sus productos, así como detalles de contacto y promociones en curso; esto no solo facilita la visibilidad de sus ofertas para un grupo de usuarios más amplio, sino que permite a los negocios afiliados tener un mejor control de sus ofertas. Por otro lado, los usuarios de la aplicación disfrutan de la conveniencia de explorar una amplia gama de productos y ofertas en un solo lugar; pueden buscar, comparar y acceder a información detallada sobre los productos y servicios ofrecidos por diversas empresas. Además, la aplicación proporciona a los usuarios actualizaciones en tiempo real sobre promociones y descuentos geolocalizados, mejorando su experiencia de compra. De esta manera, la plataforma optimiza la conexión entre empresas y usuarios, brindando a las primeras una plataforma para promocionar sus productos y a los segundos una herramienta para descubrir y acceder a una variedad de ofertas y servicios, todo ello a través de una plataforma móvil y web amigable y práctica.

Palabras clave: Negocio Digital en PYMES, Aplicación móvil, Gestión geolocalizada de ofertas, Aplicación web, Freemium.

Abstract: The project focuses on developing a Fremium digital business in SMEs through a web and mobile platform that allows businesses to effectively and accessibly register and showcase their products and promotions, reaching potential buyers in real-time. Through this application, companies can create detailed profiles that include images and descriptions of their products, as well as contact details and ongoing promotions. This not only facilitates the visibility of their offers to a broader user base but also enables affiliated businesses to have better control over their offers. On the other hand, app users enjoy the convenience of exploring a wide range of products and offers in one place; they can search, compare, and access detailed information about the products and services offered by various companies. Additionally, the app provides users with real-time updates and geolocation on promotions and discounts, enhancing their shopping experience. In this way, the platform optimizes the connection between businesses and users, providing the former with a platform to promote their products and the latter with a tool to discover and access a variety of offers and services, all through a user-friendly and practical mobile and web plataform.

Keywords: Digital Business in SMEs, Mobile Application, Geolocated Offer Management, Web Application, Freemium.

Introducción

En un contexto de creciente interconexión digital, la sinergia entre tecnología y negocios es fundamental, especialmente para las pequeñas y medianas empresas que necesitan una mayor visibilidad y gestión de sus ofertas. Este proyecto se centra en el desarrollo de una aplicación móvil diseñada para transformar la promoción empresarial y el acceso a productos por parte de los consumidores. El objetivo principal de la aplicación es proporcionar a las empresas una plataforma eficiente y atractiva para mostrar sus productos y promociones, y a los usuarios, una interfaz intuitiva para explorar y adquirir una variedad de productos, dando la opción de acceso geolocalizado y en tiempo real a las ofertas.

La idea central del proyecto es aprovechar los avances tecnológicos y herramientas en la nube, como Cloud Firestore, Digital Ocean y MeiliSearch, para potenciar el crecimiento empresarial de manera innovadora y con bajo costo. La integración de estas tecnologías y la creatividad se erigen como pilares fundamentales, ofreciendo una experiencia mejorada tanto para las empresas como para los consumidores.

Este artículo detallará cómo la aplicación utiliza tecnologías avanzadas para facilitar el crecimiento empresarial, mejorando el acceso a productos y servicios de manera eficiente. El proyecto representa una nueva era de colaboración entre tecnología y comercio, abriendo nuevas oportunidades en la promoción y adquisición de productos.

El objetivo principal es implementar un prototipo de aplicación móvil para la difusión de ofertas de pymes mediante geolocalización. Para lograr esto, se seguirán varios pasos específicos: primero, se conceptualizará el contexto de tecnologías móviles y geolocalización a través de una revisión de literatura actualizada; luego, se comprenderá la problemática de la gestión de ofertas mediante el estudio de casos para establecer una solución eficaz; se diseñará una solución de software definiendo la arquitectura y patrones de diseño necesarios; se desarrollará un prototipo utilizando un enfoque ágil para generar un catálogo de ofertas basado en la ubicación del usuario; y finalmente, se evaluará el prototipo mediante estrategias de calidad de software y validación con usuarios para determinar su efectividad en la difusión de ofertas.

Materiales y Métodos

Esta investigación se centró en implementar una aplicación para la gestión de ofertas utilizando tecnologías móviles. Los objetivos específicos incluyen conceptualizar el contexto de estas tecnologías y las técnicas de geolocalización mediante una revisión de la literatura actual para evaluar su aplicabilidad en la gestión de ofertas, comprender la problemática existente a través de estudios de casos para establecer una solución que mejore la difusión de ofertas a posibles compradores, diseñar una solución de software definiendo la arquitectura y los patrones de diseño necesarios, y evaluar el prototipo utilizando estrategias de calidad de software y validación con usuarios para determinar su efectividad en resolver el problema identificado.

Herramientas aplicadas al desarrollo del Proyecto

Expo Framework

Al utilizar Expo, en el desarrollo de aplicaciones móviles con React Native, se puede hacer uso del enrutamiento basado en el sistema de archivos. Esto significa que los directorios que sean hijos del directorio APP se convertirán automáticamente en rutas dentro de la aplicación. Cada ruta toma el nombre del directorio y renderiza el archivo index.tsx que encuentre dentro del mismo. Por lo tanto, en este directorio, solo se deben agregar páginas completas y no componentes aislados (EXPO, 2024).

Api Rest

Una API REST, también denominada API RESTful, es una interfaz de programación de aplicaciones utilizada para la transferencia de mensajes y datos en arquitecturas cliente-servidor y de microservicios. Basada en el protocolo HTTP, permite realizar operaciones sobre los datos en diversos formatos, como XML y JSON. Las operaciones más comunes en REST incluyen POST (crear), GET (leer y consultar), PUT (editar) y DELETE (eliminar). REST es ampliamente adoptado en el desarrollo de servicios de Internet debido a su eficiencia y su estructura lógica (OVHCloud, 2024).

Nest Js

NestJS es un framework de desarrollo backend para Node.js, diseñado para crear aplicaciones escalables y mantenibles. Basado en TypeScript y fuertemente influenciado por Angular, NestJS utiliza principios de programación orientada a objetos, funcional y reactiva. Su arquitectura modular permite organizar el código de manera estructurada y reutilizable, facilitando el desarrollo de aplicaciones complejas. Además, NestJS incorpora características avanzadas como inyección de dependencias, middleware y soporte para GraphQL, WebSockets y Microservicios, lo que lo convierte en una opción robusta y versátil para construir aplicaciones del lado del servidor (Nest, 2024).

Git

Git es un importante sistema de control distribuido para desarrolladores. Le permite realizar un seguimiento del origen de los cambios, colaborar de forma eficaz y volver a versiones anteriores cuando sea necesario. Las características clave incluyen control de versiones distribuido, seguimiento detallado de cambios, la capacidad de crear y fusionar ramas y la capacidad de revertir el código a estados anteriores. Estas capacidades mejoran la colaboración, aumentan la eficiencia, mejoran la calidad del código y simplifican la implementación de proyectos de software (Git, 2024).

Github

GitHub es una plataforma en línea donde los desarrolladores de software pueden almacenar, administrar y colaborar en proyectos de código. Actúa como un almacenamiento en la nube donde se almacenan los archivos fuente, el historial de edición y otros archivos del proyecto. Utiliza un sistema de control de versiones para rastrear cambios y facilitar la colaboración entre múltiples desarrolladores. Los usuarios pueden crear carpetas públicas o privadas y administrar el acceso a ellas. GitHub también permite crear "solicitudes de extracción" para revisar el código y confirmar cambios. También es una comunidad que puede descubrir, compartir y contribuir a proyectos de código abierto, fomentar la colaboración y aumentar la transparencia del código (Github, 2024).

Visual Studio Code

Visual Studio Code (VS Code) es un software gratuito y de código abierto desarrollado por Microsoft y ampliamente utilizado por los desarrolladores para escribir, descargar y colaborar en código. Compatible con Windows, macOS y Linux, VS Code ofrece funciones como resaltado de sintaxis, finalización automática de código y depuración paso a paso, lo que facilita la identificación y corrección de errores. Además, Git se integra con sistemas de control de versiones, lo que permite un mejor seguimiento de los cambios. La extensibilidad es asombrosa. Hay miles de complementos disponibles para personalizar y agregar nuevas funciones. Simple y rápido, VS Code es perfecto incluso para computadoras con recursos limitados. Su popularidad también se debe a una gran comunidad de usuarios y desarrolladores que brindan muchas herramientas y soporte (VSC, 2024).

Elastic Search

Elasticsearch, es una tecnología de código abierto. Se basa en la biblioteca de software Apache Lucene, lo que garantiza una base sólida. Su enfoque orientado a documentos le permite buscar información de manera eficiente, donde los datos sin esquema, en forma de documentos JSON arbitrariamente complejos, se pueden entregar a Elasticsearch para su indexación. La arquitectura distribuida de Elasticsearch subdivide un índice en varios fragmentos, que luego se pueden replicar en varios servidores (nodos) dentro de un clúster. Debido a esto, Elasticsearch puede hacer frente a altas cargas de consultas, distribuyendo uniformemente la carga de procesamiento y compensando las interrupciones del servidor (AERIS, 2022).

Herramientas Cloud aplicadas en el desarrollo del proyecto

Cloud Firestone

Firebase es una plataforma de base de datos en tiempo real que simplifica el desarrollo de aplicaciones Android. Está disponible para Android, iOS y la web, y ofrece una interfaz de administración llamada Firebase Console. En este estudio, se utiliza Cloud Firestore de Firebase, una base de datos flexible y escalable para el desarrollo móvil, FireBase Authentication que permite el ingreso a la aplicación con la cuenta de Google, Cloud Storage que permite almacenar archivos en la nube de Google (Rahmanti, Permata, Amiroh, & Daely, 2022).

Digital Ocean

DigitalOcean Cloud es una plataforma de nube líder en la industria que ofrece soluciones de infraestructura escalable para desarrolladores, startups y empresas. Con su enfoque en la simplicidad y la eficiencia, DigitalOcean permite implementar fácilmente servidores virtuales (Droplets), almacenamiento, bases de datos y más, todo ello con una interfaz de usuario intuitiva y precios competitivos (Ransara, Dayananda, & Seewali, 2021).

MeiliSearch

MeiliSearch es un motor de búsqueda de código abierto altamente eficiente y personalizable que ha ganado popularidad en la comunidad de desarrollo. Destaca por su velocidad y capacidad para realizar búsquedas en tiempo real en grandes conjuntos de datos, lo que lo hace ideal para integrarse en el desarrollo del proyecto (Kaneria, 2022).

Estrategias y Modelos para la Gestión de Ofertas en el Entorno Digital

En la era digital, la gestión de ofertas se ha convertido en un componente crucial para el éxito empresarial. Este documento explora las estrategias y modelos esenciales que facilitan la gestión eficiente de ofertas en entornos digitales. Se analiza la gestión de ofertas, diferenciando entre la oferta comercial y técnica, y se examinan diversos modelos de negocio digitales, incluyendo el modelo Freemium y el Software como Servicio (SaaS). Además, se presenta el Business Model Canvas como una herramienta fundamental para desarrollar y validar ideas de negocio, destacando su importancia en la estructuración y priorización de clientes y recursos. Este conjunto de estrategias y herramientas proporciona una base sólida para la implementación y optimización de modelos de negocio en el dinámico mercado digital actual.

Gestión de Ofertas

Una gestión de ofertas es el conjunto de tareas, procesos, consultas y pedidos potenciales, las cuales se pueden dividir en 2, la gestión de la oferta comercial y la gestión de oferta técnica. El proceso básico para la gestión de ofertas puede basarse en un procedimiento que incluye tres pasos (Herrera, Cantero, & Leyva, 2024).

Modelo de Negocio Digitales

Los Modelos de Negocio son estrategias fundamentales para el éxito empresarial, y existen diversos tipos que las empresas pueden adoptar para alcanzar sus objetivos. Estos tipos abarcan desde modelos de suscripción y franquicias hasta modelos de plataforma y fabricación en masa. Cada uno de ellos tiene sus propias características y ventajas, permitiendo a las empresas adaptar su enfoque a su industria y mercado específico (Campos, Cedeño, Palma, & Campos, 2021).

El modelo de negocio Freemium se caracteriza porque cuenta con una gran base de usuarios que disfrutan del servicio gratuito que se ofrece es importante aclarar que esta oferta “free” tiene menos funciones y alcance por lo que se vuelve inferior en calidad o cantidad cabe aclarar que la mayor parte de usuarios que disfrutan del servicio gratuito nunca se convierten en cliente de pago y lo habitual es que un pequeño porcentaje aproximadamente el 5% de los usuarios se suscriba a la versión Premium, en este caso lo que se hace es limitar las diferentes funciones que ofrece el servicio y a su vez incluir publicidad, por otro lado los usuarios que cuenta con el plan o el paquete premium son los que disfrutan todas las características del producto o servicio y serán los que subvencionen la oferta gratuita de la que disfrutan los usuarios gratuitos (Giraldo, 2019).

Software como Servicio (SaaS)

El software como servicio (SaaS) se ha convertido en el paradigma dominante en la distribución de software. Este modelo proporciona una aplicación alojada y administrada por un proveedor de servicios externo a la que los usuarios pueden acceder a través de Internet mediante una suscripción (Saas, Vetter, Maraux, Bonnefoy, & Perruche, 2022).

Los beneficios clave incluyen un mejor control sobre el sistema operativo, mayor compatibilidad de usuario, menores costos y una personalización multiusuario más sencilla. SaaS se ha convertido en la forma líder de contabilidad y ofrece servicios empresariales accesibles a través de una variedad de servicios en la nube (públicos, privados o híbridos). El software SaaS se caracteriza por la compatibilidad, la reutilización, la accesibilidad y la colaboración, lo que permite a los usuarios realizar sus tareas de manera eficiente a través de gráficos web (Tarsillo & Bueno, 2023).

Bussines Model Canvas

El objetivo principal de este instrumento es construir, probar y perfeccionar la idea de un nuevo negocio utilizando el modelo Canvas. Este modelo permite validar al menos una hipótesis dentro de cada elemento del negocio. Cada componente del modelo Canvas es relevante, ya que ayuda a desarrollar y validar hipótesis que el equipo de trabajo evaluará. Además, estos elementos son vitales para el modelo empresarial, considerándolo eficaz, exacto y completo (Ladd, 2018).

El Business Model Canvas sugiere que una identidad empresarial debe enfocarse en clasificar y establecer prioridades para sus tipos de clientes. Es fundamental distinguir entre los clientes más importantes, que generan el ingreso principal de la empresa, y los clientes comunes, que aportan ingresos residuales. Aplicando este principio, el presente trabajo considerará dos grupos de clientes: Free y Premium (Dudin, Lyasnikov, Evich, & Leonteva, 2015).

El Business Model Canvas, representado en la Figura 1, es una herramienta ampliamente utilizada para visualizar y analizar modelos de negocio. Consiste en una tabla de nueve bloques que representan los aspectos clave de una empresa: segmentos de clientes, propuesta de valor, canales de distribución, relaciones con los clientes, fuentes de ingresos, recursos clave, actividades clave, socios clave y estructura de costos. Cada uno de estos bloques se desglosa a continuación, detallando los parámetros específicos relacionados con ese aspecto particular del negocio, permitiendo una comprensión más profunda y detallada de la estrategia empresarial.

Resultados y Discusión

El problema que enfrentan muchas PYMES y microempresas es la falta de información en línea sobre sus productos y servicios, lo que dificulta la captación de clientes potenciales y la inteligencia del negocio. La publicidad física, como pancartas y carteles, representa una inversión significativa pero no siempre efectiva. Además, los clientes pierden tiempo al tener que visitar personalmente los negocios para hacer pedidos y conocer productos y ofertas. La falta de información sobre horarios de atención, ubicación y promociones, así como la ausencia de un catálogo digital y de datos estadísticos necesarios para la toma de decisiones, afecta tanto a negocios como a clientes.

Una solución exitosa implica el desarrollo de una aplicación móvil que permita el acceso a un catálogo de negocios y productos segmentado por categorías, generando rutas desde la ubicación del usuario hasta el negocio seleccionado y permitiendo realizar pedidos. La app puede notificar a los clientes sobre productos de interés, incluir un mapa con información actualizada de los negocios y gestionar ofertas y catálogos de productos a través de una plataforma web. Un dashboard interactivo proporcionará información estadística sobre la interacción de los clientes con los productos, formando un ecosistema digital que conecte vendedores y compradores potenciales en un solo lugar.

Aplicación de Bussines Model Canvas

Propuesta de valor: La plataforma facilita a las PYMES la venta de sus productos mediante la creación y gestión de un catálogo en línea. Permite actualizar información esencial de la tienda, como ubicación y horarios de atención, mejorando la visibilidad y accesibilidad en el mercado digital. Además, ofrece la capacidad de generar ofertas especiales y proporciona acceso a datos detallados sobre ventas e interacciones, optimizando así las operaciones y maximizando los ingresos. Las funciones avanzadas de personalización permiten a los usuarios encontrar negocios cercanos y suscribirse para recibir notificaciones, mejorando la experiencia del cliente y fomentando la lealtad.

Segmentos de mercado: El público objetivo incluye a los dueños de los negocios en la plataforma y los usuarios finales que compran los productos registrados. Los usuarios finales buscan una plataforma fácil de usar para comprar ropa en línea en Ecuador, con una amplia variedad de opciones, descuentos, detalles de la tienda y pagos en línea seguros.

Canales y relaciones con clientes: La plataforma ofrece distintos canales digitales de atención al cliente tanto para usuarios finales como para empresas. La relación con los usuarios se basa en la confianza y la satisfacción, facilitando la navegación y compra de productos.

Fuentes de ingresos: Los ingresos se generan mediante comisiones por venta, publicidad y suscripciones mensuales para los negocios, proporcionando acceso a todas las funcionalidades de la plataforma y asegurando ingresos recurrentes.

Recursos clave: Los recursos clave incluyen financieros (capital inicial y fondos para campañas y mantenimiento) y humanos (equipos de desarrollo, marketing, ventas y soporte al cliente). También son cruciales los datos recopilados sobre ventas e interacciones de usuarios para mejorar la plataforma.

Actividades clave: Incluyen el desarrollo y mantenimiento de la plataforma, adquisición y gestión de tiendas, adquisición y gestión de usuarios, procesamiento de pedidos y pagos, análisis de datos y servicio al cliente.

Asociaciones clave: Las asociaciones con tiendas de ropa, proveedores de servicios de pago, empresas de publicidad y marketing, y empresas de análisis de datos son esenciales para el éxito del proyecto.

Arquitectura del Negocio

La arquitectura de software para la aplicación " Plataforma web y móvil para la difusión de ofertas de PYMES mediante geolocalización " se define como una arquitectura cliente-servidor. Esta elección arquitectónica es fundamental para cumplir con los atributos de calidad definidos en el capítulo tres. La arquitectura cliente-servidor proporciona una clara separación de responsabilidades entre el cliente, que maneja la interfaz de usuario y la interacción con el usuario final, y el servidor, que gestiona la lógica de negocio, el almacenamiento de datos y el procesamiento de solicitudes.

Este enfoque facilita una organización robusta y coherente del código; también mejora la mantenibilidad del sistema. Al modularizar la aplicación en componentes distintos, resulta más sencillo realizar actualizaciones, corregir errores y añadir nuevas funcionalidades sin afectar otras partes del sistema. Además, la arquitectura cliente-servidor permite escalar el sistema de manera eficiente, ya que el servidor puede ser optimizado y reforzado independientemente de las aplicaciones cliente, lo cual es crucial para manejar un aumento en el número de usuarios y en el volumen de datos.

Los elementos de esta arquitectura son:

Cliente:

La aplicación móvil está desarrollada en React Native, cuya responsabilidad es interactuar con el usuario final a través de una interfaz bien diseñada y fácil de usar. Su objetivo principal es proporcionar la mejor experiencia de usuario posible. Para ello, se conecta con el servidor mediante el protocolo HTTP para gestionar las solicitudes del usuario. La aplicación web esta desarrollada en Angular, lo cual permite una integración con el backend de la plataforma, y así gestionar la información de las ofertas.

Servidor:

La aplicación del lado del servidor está construida con NestJS. Su objetivo principal es centralizar la lógica de negocio, minimizando así la lógica del lado del cliente. Esto permite que la lógica del servidor sea reutilizable por diferentes clientes si es necesario. Además, el servidor es el único encargado de comunicarse con la base de datos para realizar operaciones de lectura y escritura.

Base de Datos:

La base de datos utilizada es Firebase Firestore, una base de datos no relacional que ofrece un SDK para interactuar y gestionar datos de manera eficiente. Firebase Cloud Storage se utiliza para almacenar archivos estáticos. El servidor es el único componente que se comunica directamente con la base de datos, lo que asegura que la lógica y los datos sensibles permanezcan protegidos en el servidor.

Motor de Búsqueda:

El sistema incluye un motor de búsqueda elástica, MeiliSearch. Este motor es muy potente y permite a los usuarios realizar consultas de productos y obtener los mejores resultados basados en el contenido de dichos productos. Para optimizar el rendimiento de las búsquedas, se realiza una replicación de datos, almacenando información relevante del producto, como título, color, etiquetas y descripción, en el motor de búsqueda. Esto permite que la información sea indexada y los usuarios puedan obtener resultados óptimos basados en sus consultas.

El motor de búsqueda indexa toda la información y devuelve resultados de manera eficiente. En conjunto, estos elementos trabajan de manera integrada para proporcionar una aplicación robusta, eficiente y fácil de mantener, asegurando así una experiencia de usuario de alta calidad y un manejo centralizado y seguro de la lógica de negocio y los datos.

Figura 1
Representación gráfica de la arquitectura de la aplicación

Nota. En la figura se observa la forma en la que se comunican los diferentes elementos de la arquitectura.

Tabla 1

Detalle de las herramientas de desarrollo

Fase | Herramienta | Detalle
Planificación | Trello | Utilizado para organizar las tareas y asignarlas a cada miembro del equipo.
Codificación | Git | Sistema de registro, versionamiento e integración de código.
Github | Repositorio de código de la aplicación móvil y servicios web.
Python | Lenguaje de programación para el algoritmo de recomendación KNN.
Typescript | Lenguaje de programación utilizado para el desarrollo de la aplicación móvil y backend.
HTML | Lenguaje de etiquetas para estructurar la UI en la aplicación móvil
CSS | Lenguaje para manejar el estilo de la aplicación.
Tailwind | Framework de CSS para el diseño web.
Nest JS | Framework utilizado para el desarrollo del backend de la aplicación.
React Native | Framework para el desarrollo multiplataforma de la aplicación móvil.
Angular | Framework de desarrollo de la aplicación web.
Expo | Framework para React Native que ofrece funcionalidades como enrutamiento basado en archivos, bibliotecas universales de alta calidad y permite modificar el código nativo sin administrar archivos nativos.
Firebase | Plataforma que facilita el desarrollo de aplicaciones que ofrece soluciones de bases de datos NoSQL, autenticación de usuarios y almacenamiento de archivos estáticos.
Meilisearch | Motor de búsqueda elástica.
Despliegue | Digital Ocean | Plataforma que ofrece Infraestructura como Servicio, es decir podemos desplegar nuestro backend a un servidor de pruebas o producción.

Variables de Entorno

Para la conexión y configuración del proyecto, se utilizan varias variables esenciales. La variable GOOGLE_CREDS_FILE indica la ubicación del archivo de configuración, que permite la conexión con la base de datos de Firebase. MEILISEARCH_HOST define la dirección del servidor de Elastic Search, mientras que MASTER_KEY es la contraseña utilizada para conectarse con el host de Meilisearch. Adicionalmente, STORAGE_BUCKET especifica el contenedor donde se almacenan los archivos estáticos en Firebase, y FIREBASE_PROJECT_ID es el identificador único del proyecto de Firebase.

Para la documentación y acceso al backend de la aplicación, se emplean las variables SWAGGER_USER y SWAGGER_PASSWORD. Estas proporcionan las credenciales necesarias para acceder a la documentación de la aplicación, garantizando que solo usuarios autorizados puedan consultar y modificar las especificaciones del backend. Estas configuraciones aseguran una gestión eficiente y segura de los recursos y servicios utilizados en el desarrollo del proyecto.

Tipos de Pruebas de Software

En el desarrollo de software, es crucial asegurar que las aplicaciones funcionen correctamente y cumplan con los requisitos especificados. Para lograr esto, se utilizan diferentes tipos de pruebas de software, cada una con un enfoque particular. Dos de los enfoques más comunes son las pruebas de caja negra y las pruebas de caja blanca. Las pruebas de caja negra se centran en evaluar la funcionalidad del software sin considerar su estructura interna, mientras que las pruebas de caja blanca se enfocan en examinar las funciones internas y el flujo del código. Ambos tipos de pruebas son esenciales para identificar y solucionar problemas, asegurando la calidad y fiabilidad del software.

Pruebas de caja negra

Las pruebas de caja negra, también conocidas como pruebas funcionales, son un tipo de pruebas de software en las que se analiza la funcionalidad de un sistema o programa informático sin tener conocimiento de su funcionamiento interno1. En este tipo de pruebas, los probadores se limitan a proporcionar entradas y evaluar las salidas, interactuando con el software de la misma manera que lo haría un usuario final1. El objetivo es verificar que el software funcione correctamente en condiciones de uso normales, sin tener en cuenta la estructura interna del código1. Este enfoque permite identificar problemas que pueden no ser evidentes durante las pruebas de caja blanca, que se centran en el código interno (Rosado, Rodríguez, Luque, & Luna, 2017).

Pruebas de caja blanca

Las pruebas de caja blanca son un tipo de prueba de software que se enfoca en las funciones internas de un módulo. Su importancia radica en que los métodos de caja blanca permiten derivar casos de prueba que aseguran que todas las rutas independientes dentro del módulo se ejecuten al menos una vez. Además, se verifica tanto el resultado verdadero como el falso de todas las decisiones lógicas presentes en el código. También posibilitan la ejecución de todos los ciclos dentro de sus límites operacionales y ejercitan las estructuras de datos internas para asegurar su validez (Álvarez & Lago, 2019).

Pruebas unitarias

Definir las pruebas necesarias para asegurar el correcto funcionamiento del sistema una vez implementado. Estas pruebas se definieron como pruebas unitarias, es decir, pruebas con el menor nivel posible de dependencia entre sí. Esto permitió un desarrollo o una integración de software por componentes, donde cada equipo tenga la posibilidad de trabajar y realizar pruebas de manera independiente, reservando para la fase final las pruebas de integración (García, 2019).

Contenido de la aplicación

Aplicación móvil

El objetivo de la pantalla principal de la aplicación móvil es mostrar al usuario información que capte su atención. Se muestran los negocios que ha marcado como favoritos de los cuales va a recibir notificaciones cuando tengan ofertas o creen nuevos productos, también se muestran recomendaciones de productos y una barra de búsqueda que le permite encontrar cualquier producto acorde a sus necesidades.

Figura 2
Página Principal

Nota. Es la primera página que ve el usuario al iniciar sesión.

Figura 3
Pantalla de búsqueda

Negocios cerca del usuario

Para obtener los negocios cercanos al usuario hacemos uso de Google Maps para mostrar el mapa. Adicionalmente, se solicitan los permisos de geolocalización al usuario; una vez el usuario ha otorgado los permisos necesarios, el cliente realiza una petición al servicio web que le permite encontrar los negocios que están cerca a la ubicación actual. La funcionalidad de la obtención de los negocios está detallada en el desarrollo del backend.

Figura 4
Vista de negocios usuarios

Nota. Vista de negocios cercanos al usuario, muestra un listado de tiendas y la distancia a la que se encuentran.

Aplicación web

El objetivo de la aplicación web es gestionar la información de los negocios y las ofertas, para ello cada negocio debe registrarse para crear una cuenta y realizar el pago del servicio. Al registrar un nuevo negocio, no se podrá acceder a todas las funcionalidades como: información del negocio, suscripciones y pagos por el servicio de la plataforma y métodos de pago, donde se puede agregar la información necesaria para que el administrador pueda realizar las transferencias al negocio.

Figura 5
Pantalla de negocio en la aplicación web

Nota. Esta vista presenta los datos vacíos y una suscripción pendiente.

Uno de los módulos principales de la vista del negocio es el panel de control, que presenta información estadística sobre la cantidad de pedidos realizados, la calificación de los productos y gráficos de pastel que muestran los porcentajes de productos divididos por categoría.

Figura 6
Pantalla de dashboard en la aplicación web

Nota. En esta vista se incluyen los gráficos con datos obtenidos de la interacción de los usuarios en la aplicación móvil.

La pantalla de productos permite al negocio gestionar la información de los productos ingresados en la plataforma, incluyendo filtros para navegación y búsqueda, agregación, edición y eliminación productos.

Figura 7
Pantalla de productos en la aplicación web

Nota. En esta vista se gestionan todos los productos del negocio.

También, la aplicación web incluye la gestión de pedidos, donde se presentan todos los pedidos registrados desde la aplicación móvil. Esta funcionalidad permite filtrar pedidos y despachar aquellos que aún no han sido procesados. Además, se puede visualizar los detalles específicos de cada pedido.

Figura 8
Pantalla de pedidos en la aplicación web

Nota. En esta vista se gestionan todos los pedidos del negocio.

Contenido del administrador web

Para gestionar todos los negocios de manera organizada, se ha implementado un acceso de administrador. Este acceso permite al administrador gestionar todas las órdenes, realizar pagos a los negocios y supervisar la gestión de suscripciones de los mismos. Esta funcionalidad asegura una administración eficiente y ordenada de las operaciones comerciales dentro de la plataforma.

Figura 9
Pantalla de pagos en el administrador de la aplicación web

Nota. En esta vista se gestionan todos los pagos a los negocios.

Figura 10
Pantalla de negocios en el administrador de la aplicación web

Nota. En esta vista se gestionan todas las suscripciones de los negocios. Contenido de la aplicación.

De esta forma la plataforma web y móvil permiten la gestión de ofertas de las Pymes, de una manera ágil y en tiempo real, proporcionando una experiencia de usuario acorde a las necesidades de los negocios, que requieren crear y gestionar sus ofertas, y de los usuarios que acceden a las ofertas geolocalizadas.

Conclusiones

La revisión exploratoria de literatura permite identificar las tendencias y aplicaciones actuales de las tecnologías móviles y la geolocalización en la gestión de ofertas. Se concluye que estas tecnologías son altamente aplicables y beneficiosas para las PYMES, ya que facilitan la difusión de ofertas de manera eficiente y dirigida, incrementando la probabilidad de atraer clientes potenciales en función de su ubicación geográfica. Por otro lado, a través del estudio de casos, se evidencia que las PYMES enfrentan desafíos significativos en la difusión de sus ofertas, principalmente debido a la falta de herramientas digitales efectivas y accesibles para llegar a su público objetivo. Este análisis permitió definir los requisitos y características esenciales para una solución que mejore sustancialmente el proceso de gestión y difusión de ofertas.

De la misma manera, la definición de la arquitectura y los patrones de diseño adecuados permitió desarrollar una solución de software robusta y escalable. El diseño consideró la integración de funcionalidades clave como la geolocalización en tiempo real y un sistema de notificaciones personalizadas, asegurando así que el prototipo cumpla con los requerimientos detectados durante la fase de análisis. Las estrategias de calidad de software, incluyendo pruebas de caja negra y caja blanca, así como la evaluación de informes previos al análisis en Google Play, demostraron que el prototipo es efectivo para resolver la problemática de difusión de ofertas. Las pruebas confirmaron una notable mejora en la visibilidad y accesibilidad de las ofertas de PYMES, confirmando así la viabilidad y potencial impacto positivo de la aplicación desarrollada.

Trabajos Futuros

Se recomienda continuar con la optimización del prototipo basado en la retroalimentación de los usuarios y los avances tecnológicos, asegurando que la aplicación se mantenga relevante y eficiente. Considerar la incorporación de nuevas funcionalidades, como la integración de análisis predictivo para anticipar las necesidades de los usuarios y la implementación de un sistema de recompensas por fidelidad.

Desarrollar estrategias de marketing enfocadas en la adopción de la aplicación por parte de las PYMES y los usuarios finales. Esto podría incluir campañas de sensibilización, capacitación y soporte continuo para maximizar el uso y aprovechamiento de la herramienta.

Establecer colaboraciones con cámaras de comercio y asociaciones de PYMES para fomentar el uso de la aplicación y facilitar la incorporación de más ofertas y promociones, beneficiando así a una mayor cantidad de usuarios.

Implementar un sistema de evaluación periódica de la aplicación para monitorear su desempeño y realizar ajustes necesarios, garantizando la satisfacción del usuario y la efectividad en la difusión de ofertas.

Referencias

AERIS. (1 de febrero de 2022). Aeris. Obtenido de Aeris Consulting: https://www.aeris-consulting.com/

Álvarez, N., & Lago, N. (2019). Pruebas de mutación, control sobre variaciones en el código fuente. Obtenido de Revista ID Teconológico: https://doi.org/10.33412/idt.v15.2.2228

Camargo, G. (21). Modelo de negocio freemium. Obtenido de RocketContend: https://rockcontent.com/es/blog/freemium/

Campos, S., Cedeño, C., Palma, Y., & Campos, V. (2021). Los negocios digitales y su importancia en la era actual. Obtenido de Ciencias económicas y empresariales.

Dudin , M., Lyasnikov, N., Evich, V., & Leonteva, L. (2015). Business model canvas as a basis for the competitive advantage of enterprise structures in the industrial agriculture. Obtenido de Biosciences Biotechnology Research Asia.

EXPO. (09 de junio de 2024). Expo and EAS are and ecosysteam of tools tha help you. Obtenido de https://expo.dev/

García, A. (2019). Software Libre. Obtenido de Dspace: https://dspace.itsjapon.edu.ec/jspui/bitstream/123456789/460/1/uoc-proyecto-web.pdf

Giraldo, D. (2019). Plan de negocios bajo el modelo Canvas para la creación de una aplicación que permita reservar espacios deportivos de terceros. Obtenido de UNIVERSIDAD DE CUNDINAMARCA.

Git. (20 de mayo de 2024). Git. Obtenido de Distributed even if your workslow inst: https://git-scm.com/

Github. (16 de Mayo de 2024). Let’s build from here. Obtenido de Github: https://github.com/

Herrera, Y., Cantero, H., & Leyva, E. (2024). Gestión del servicio al cliente para lograr ventajas competitivas en empresascomercializadoras. Obtenido de Ciencias Holguín: http://www.ciencias.holguin.cu/revista/article/view/285

Kaneria, F. (2022). Swift Search An open-source search engine. Obtenido de ACM Digital Library.

Ladd, T. (2018). Does the business model canvas drive venture success? Journal of Research in Marketing and Entrepreneurship. Obtenido de Emeral Insight.

Nest. (09 de junio de 2024). Nest a Progressive Node.js. Obtenido de https://nestjs.com/

OVHCloud. (09 de junio de 2024). ¿Qué es una API REST? Obtenido de https://www.ovhcloud.com/es-es/learn/what-is-rest-api/

Pico, F. (2017). Potencial Estratégico de la Geolocalización de Clientes. Obtenido de Revista San Gregorio.

Rahmanti, F., Permata, O., Amiroh, K., & Daely, P. (2022). An Improvement Using Global Positioning System (GPS) and Cloud Firestore for Integration of Information System in Surabaya Public Transportation. Obtenido de Edutec.

Ransara , P., Dayananda, A., & Seewali, P. (2021). The Library Automation through the Cloud Computing server: Based on Digital Ocean Cloud server. Obtenido de University of Kelaniya.

Rosado, L., Rodríguez, F., Luque, R., & Luna, F. (2017). Experiencias con una herramienta de pruebas de caja negra para el aprendizaje de asignaturas de programación en evaluación continua. Obtenido de Universidad de Málaga: https://aenui.org/actas/pdf/JENUI_2017_021.pdf

Saas, P., Vetter, M., Maraux, M., Bonnefoy , F., & Perruche, S. (2022). Resolution therapy: Harnessing efferocytic macrophages to trigger the resolution of inflammation. Obtenido de frontiers: https://www.frontiersin.org/journals/immunology/articles/10.3389/fimmu.2022.1021413/full

Tarsillo, W., & Bueno, P. (2023). El Software como Servicio (SaaS) y su incidencia en la Festión de Servicios de Tenologías de la Información. Obtenido de Universidad César Vallejo: https://repositorio.ucv.edu.pe/bitstream/handle/20.500.12692/110819/Pilar_BWT-SD.pdf?sequence=1&isAllowed=y

VSC. (17 de mayo de 2024). Visual Studio Code. Obtenido de Code editing, Redefined.: https://code.visualstudio.com/