https://doi.org/10.37815/rte.v36ne1.1217

Artículos originales

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

Juan Francisco Cevallos-Valdivieso1 https://orcid.org/0009-0002-1716-3669, Fernando Saldaña-Cueva1 https://orcid.org/0009-0002-7609-6566, Andrés Palacios-Orellana1 https://orcid.org/0009-0006-6147-202X,

Alexandra González-Eras1 https://orcid.org/0000-0002-5305-7882

1Universidad Técnica Particular de Loja, Loja, Ecuador

[email-masked], [email-masked], [email-masked], [email-masked]

.

Esta obra
está bajo una licencia internacional Creative
Commons Atribución-NoComercial 4.0

Enviado: 2024/07/15 Aceptado: 2024/10/03
Publicado: 2024/10/15

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: 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

Frebase 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

Figura 2

Página Principal

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

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 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/