https://doi.org/10.35290/ro.v2n3.2021.475
Aplicación móvil para la contratación de servicios
profesionales
Fecha de recepción: 2021-07-19 Fecha de aceptación: 2021-09-03 Fecha de publicación: 2021-10-10
Henry Daniel Rojas Cisneros
Biometrika Cloud Services, Ecuador
henry.red1@hotmail.com
https://orcid.org/0000-0001-8157-760X
Resumen
El presente trabajo se enfoca en la automatización mediante una aplicación móvil y una
página administrativa, de la contratación de servicios profesionales. Esta idea surge de
la crisis sanitaria generada por el COVID-19, que afectó principalmente a los aspectos
sociales y económicos, lo que provocó un incremento en el indicador de desempleo en
la mayoría de los países. Durante esta crisis, empresas que ofrecen sus servicios
enfocados en entregas a domicilio, mediante aplicaciones móviles, tuvieron un gran
crecimiento debido a su gran demanda por la situación actual; sin embargo, otro tipo de
servicios, como los de profesionales informales, se vieron gravemente afectados al no
contar con ninguna aplicación que facilite su contratación. Para el desarrollo de este
proyecto se utilizó la herramienta de desarrollo Android Studio con el lenguaje de
programación Kotlin para la aplicación móvil, y para la página administrativa el
Framework Angular, sobre el lenguaje Typescript, ambas aplicaciones se conectan con
la plataforma Firebase, que permite la gestión de la información y evita la gestión de un
servidor, lo que acelera el desarrollo del lado del cliente.
Palabras clave: kotlin, typescript, framework, covid
Abstract
The present work focuses on the automation through a mobile application and an
administrative page, of the contracting of professional services. This idea arises from
the health crisis generated by COVID-19, which affected mainly social and economic
aspects, which caused an increase in the unemployment indicator in most countries.
During this crisis, companies offering their services focused on home deliveries,
through mobile applications, had a great growth due to their high demand because of the
current situation; however, other types of services, such as informal professionals, were
severely affected by not having any application to facilitate their recruitment. For the
development of this project, the Android Studio development tool was used with the
Kotlin programming language for the mobile application, and for the administrative
page the Angular Framework, on Typescript language, both applications are connected
to the Firebase platform, which allows the management of information and avoids the
management of a server, which speeds up the development of the client side.
Keywords: kotlin, typescript, framework, covid
Introducción
El mundo entero está viviendo una pandemia global por consecuencia del COVID-19,
lo que ocasionó una crisis económica en la mayoría de países y que afectó a diferentes
aspectos, tanto social, como económico. El indicador que resaltó por su incremento fue
el desempleo, el cual afecta directamente al núcleo familiar (Lozano Chaguay et al.,
2020). Sin embargo, de acuerdo con la OIT (2021), el número de plataformas digitales
de trabajo en la región ha aumentado 14 veces, haciendo que el COVID-19 acelere las
transformaciones. Por lo que surge la necesidad de aprovechar mejor las oportunidades
de empleo y negocios, en un sector donde predomina la gestión por algoritmos.
En Ecuador, como en muchos países de la región latinoamericana, las y los trabajadores
informales han sido seriamente perjudicados al estar más expuestos al contagio por la
naturaleza de su trabajo (Grijalva, 2020). Empresas como Uber (s.f.), Cabify (s.f.),
InDriver (s.f.), etc., dedicadas al servicio de transporte y reparto, han crecido debido a la
incorporación de trabajadores informales o que perdieron su empleo. Sin embargo, otro
tipo trabajadores que ofrecen servicios como electricista, plomero, albañil, sastre,
carpintero, entre otros, no cuentan con un medio tecnológico que ofrezca un servicio de
similares características, el cual facilite encontrar una oportunidad de trabajo.
Aunque existan portales que permiten la publicación de ofertas laborales como
OpciónEmpleo (s. f.), CompuTrabajo (s. f.), Multitrabajos (s. f.), entre otros, estos
servicios se enfocan en ofrecer una bolsa de empleos o postulación con el envío del
curriculum vitae a la oferta publicada, proceso que puede tardar o no tener ninguna
respuesta.
Por lo mencionado anteriormente, el siguiente trabajo tiene como objetivo el desarrollo
de una aplicación móvil prototipo que permita mejorar el proceso de contratación de
servicios profesionales de cualquier área, con la publicación de ofertas laborales
instantáneas de los usuarios que la utilicen, lo que facilitará la comunicación y llegar a
un acuerdo por el trabajo solicitado, para su cumplimento, se estableció lo siguiente:
definir los requerimientos y restricciones de la aplicación, desarrollar la aplicación
utilizando los estándares y metodología establecidos, y validar el funcionamiento de la
aplicación.
Metodología
Se inició con la definición del proceso de contratación actual, en la Figura 1 se
muestran los pasos que siguen los solicitantes para la contratación de servicios
profesionales desde la búsqueda, consulta de disponibilidad, acuerdo verbal y
culminación.
Figura 1
Proceso actual Sin automatizar
A continuación, se define el proceso automatizado, en la Figura 2 se observa cómo se
va a automatizar el proceso con el uso de la aplicación móvil, tomando en cuenta a cada
involucrado dentro de este proceso.
Figura 2
Diagrama proceso automatizado
2.1 Especificación de requerimientos
En base a la definición de los procesos se definen los requisitos funcionales para la
aplicación móvil y la página administrativa, estas funcionalidades se las describe en
detalle en las historias de usuario.
Se establecieron las siguientes funciones base que tendrá la aplicación móvil, estas se
enlistan a continuación:
Iniciar sesión y registro de usuarios.
Publicar y visualizar ofertas de trabajo por categoría.
Cambiar estado de solicitudes de trabajo.
Calificar solicitud de trabajo terminada.
Visualizar histórico de ofertas de trabajo.
Visualizar perfil de usuario.
Enviar comentarios en solicitud de trabajo aceptada.
Notificar solitud de trabajo aceptada y envío de comentarios.
Se establecieron las siguientes funciones base que tendrá la plataforma web, estas se
enlistan a continuación:
Iniciar sesión en página administrativa para usuario único
Visualizar y deshabilitar usuarios del sistema
Visualizar ofertas de trabajo por categorías.
Registrar, editar, deshabilitar y visualizar categorías.
En la Tabla 1 se muestra un ejemplo de historia de usuario definido para la publicación
de ofertas de trabajo para el usuario solicitante.
Tabla 1
Historias de usuario publicar oferta de trabajo
Historia de usuario
Número: 3
Nombre: Publicar oferta de trabajo
Usuario: Solicitante/Cliente
Riesgo en Desarrollo: Alta
Prioridad en negocio: Alta
Iteración asignada: 2
Descripción: los solicitantes deberán escoger una categoría a la cual pertenecerá la oferta
de trabajo a publicar, y de acuerdo con la categoría, aparecerán los campos del
formulario que deben ser llenados de forma obligatoria.
Observación: cada categoría tiene sus campos específicos a mostrar, se limita a un
máximo de 5 fotografías para respaldo fotográfico, en caso de que los datos ingresados
sean incorrectos se mostrarán mensajes indicando los errores antes de enviar la
información
2.2 Restricciones
Considerando que el proyecto tuvo como principal objetivo el desarrollo de un prototipo
funcional, se establecieron las siguientes restricciones.
Para la aplicación móvil:
El desarrollo de la aplicación móvil se lo realizará en el IDE de desarrollo
Android Studio (Developers, 2021) con el lenguaje de programación Kotlin, que
toma lo mejor de JAVA y se enfoca en la productividad.
La aplicación móvil no utilizará ningún proceso relacionado con el cobro del
servicio prestado por el profesional.
El dispositivo que utilice la aplicación debe tener conexión a Internet para iniciar
sesión y tener acceso a la información almacenada en Firebase.
La aplicación móvil será compatible desde la versión 5.0 o posterior.
No se realizará la publicación de la aplicación en la tienda virtual de
aplicaciones Google Play.
Para la plataforma web:
Se utilizará Angular como Framework de desarrollo, con el lenguaje de
programación Typescript y como IDE de desarrollo Visual Code (Aitana
Soluciones ERP y CRM, 2018) para el desarrollo de la funcionalidad.
El backend de la plataforma usará Firebase para la persistencia de la información
y la gestión de usuarios.
Contar con conexión a Internet para el acceso a la información almacenada en
Firebase.
Se tendrán registradas 10 categorías iniciales, esto debido a que el presente
proyecto únicamente es un prototipo.
En el desarrollo del proyecto se utilizó la metodología de desarrollo ágil Scrum, un
marco de trabajo iterativo incremental que estructura el desarrollo en ciclos de trabajo
llamados sprints. Scrum pone énfasis en productos que funcionen al final de cada sprint,
en el caso del software que su código esté integrado, completamente probado y listo
para entregar (Deemer et al., 2009).
A continuación, se muestran cada uno de los roles, artefactos y eventos principales que
se llevaron a cabo para el presente proyecto.
En la Tabla 2 se muestran los roles que tienen los diferentes encargados de la gestión
del proyecto.
Tabla 2
Equipo de trabajo y roles
Personas / Entidad
Universidad Tecnológica Israel
Mg. Renato Toasa
Henry Rojas
En la Tabla 3 muestra el product backlog del proyecto, que enlista todas las
funcionalidades a desarrollarse, el sprint al que pertenecen y el estado.
Tabla 3
Product Backlog
N. Historia
Enunciado product backlog
Sprint
Estado
1
Iniciar sesión usuarios finales
1
Terminado
2
Registro de usuarios finales
1
Terminado
3
Publicar oferta de trabajo
2
Terminado
4
Visualizar ofertas de trabajo publicadas
3
Terminado
5
Finalizar solicitud de trabajo
4
Terminado
6
Calificar solicitud de trabajo terminado
4
Terminado
7
Visualizar histórico de ofertas de trabajo
3
Terminado
8
Visualizar ofertas publicadas por categoría
3
Terminado
9
Visualizar detalle de oferta de trabajo
3
Terminado
10
Aceptar oferta de trabajo
4
Terminado
11
Terminar solicitud de trabajo
4
Terminado
12
Visualizar perfil de usuario
5
Terminado
13
Notificar solitud de trabajo aceptada
6
Terminado
14
Notificar envío de comentarios
6
Terminado
15
Enviar comentarios en solicitud de trabajo
aceptada
5
Terminado
16
Iniciar sesión en página administrativa
1
Terminado
17
Visualizar usuarios del sistema
2
Terminado
18
Deshabilitar usuarios del sistema
2
Terminado
19
Visualizar ofertas de trabajo por categorías
2
Terminado
20
Registrar categoría
1
Terminado
21
Editar categoría
1
Terminado
22
Deshabilitar categorías
1
Terminado
23
Visualizar categorías registradas
1
Terminado
En la Tabla 4 se observa uno de los sprint backlog del proyecto, que enlista todas las
tareas que se realizaron para cumplir con los enunciados propuestos en el product
backlog, con su tiempo estimado de desarrollo.
Tabla 4
Sprint Backlog 2
Identificador
product backlog
Enunciado product
backlog
Tareas / Actividades
Tiempo estimado
(Horas)
2
Publicar oferta de
trabajo
Creación de navegabilidad y visualización
de pantallas por tipo de usuario.
20
Diseño de interfaz para publicación de
ofertas de trabajo.
Creación de funcionalidad para formulario
y conexión con Firebase.
Validaciones para campos de interfaz.
Pruebas de funcionalidad implementada.
Visualizar usuarios
del sistema
Diseño de interfaz para visualización de
usuarios registrados.
20
Creación de funcionalidad para conexión
con Firebase y obtención de usuarios
registrados.
Pruebas de funcionalidad implementada.
Deshabilitar
usuarios del sistema
Implementación de botón deshabilitar en
ítems de usuarios.
5
Creación de funcionalidad para botón
deshabilitar y conexión con Firebase.
Pruebas de funcionalidad implementada.
Visualizar ofertas
de trabajo por
categorías
Diseño de interfaz para visualización de
ofertas de trabajo registradas.
20
Creación de funcionalidad para conexión
con Firebase y obtención de ofertas de
trabajo.
Pruebas de funcionalidad implementada.
Entregable: página administrativa con todos sus módulos terminados. Aplicación móvil con navegabilidad por
tipo de usuarios y pantalla para realizar registro de ofertas de trabajo.
2.3 Estándares
Dentro del desarrollo del proyecto se utilizaron los siguientes:
Codificación: PascalCase, camelCase y UpperSnakeCase en todo el estilo de
escritura del proyecto (Martínez, s. f.).
Lenguajes de programación: Kotlin (Orozco, 2021) en la aplicación móvil y
TypeScript (Hernández, 2018) en la página administrativa.
Librerías de diseño: Material Design (Google, s. f.) en la aplicación móvil y
Angular Material librería basada en Material Design para la página
administrativa.
Modelo de base de datos: Firebase (Giraldo, 2021) con un modelo de no
relacional basado en JSON (IBM, s. f.).
Resultados
Como resultados del presente proyecto se pueden ver reflejados en las pruebas
realizadas al desarrollo. A continuación, se detalla las pruebas realizadas a la aplicación
móvil y la página administrativa que permiten verificar el cumplimiento de las
especificaciones planteadas y aprobar su funcionalidad.
En la Tabla 5 se puede ver un ejemplo de una prueba funcional realizada al registro y
visualización de ofertas de trabajo.
Tabla 5.
Prueba de aceptación registro y visualización de ofertas de trabajo
Objetivo
Descripción
Historias
Estado
Validar la
publicación de
ofertas de trabajo por
categoría y su
correspondiente
visualización
El cliente / solicitante debe
escoger una categoría e
ingresar la información
que se le solicite para
registrar la oferta. El
profesional podrá
visualizar la oferta y ver el
detalle de la oferta
3,4,8,9
Aprobado
En las Figuras 3, 4, 5 se observan las pantallas para iniciar sesión por medio de
credenciales o una cuenta de Google; además, la pantalla de registro para los dos tipos
de usuarios que utilizan la aplicación.
Figura 3
Figura 4
Figura 5
Pantalla de inicio de sesión
Pantalla de inicio de sesión Google
Pantalla de registro usuario
En las Figuras 5, 6, 7 se visualizan las pantallas del registro de solicitud de trabajo,
donde el cliente / solicitante llena cada uno de los campos disponibles en el formulario y
que servirán para que el profesional acepte o no la solicitud.
Figura 6
Pantalla de registro de solicitud - formulario
Figura 7
Pantalla de registro de solicitud cuadros de diálogo
Figura 8
Pantalla de registro de solicitud toma de fotografía y visualización
Las Figuras 9, 10, 11 corresponden a la lista de ofertas publicadas y cómo el
profesional puede visualizar toda la información registrada por el cliente / solicitante.
Una vez que el profesional acepte la oferta al cliente / solicitante le llegará una
notificación la cual avisará que su solicitud fue aceptada.
Figura 9 Figura 10
Pantalla de visualización ofertas Pantalla de detalle oferta
Figura 11
Pantalla de notificación solicitud aceptada
En las Figuras 12 y 13 se puede ver que, al aceptar la solicitud, tanto el cliente
/solicitante y el profesional tendrán disponible una interfaz que permitirá la
comunicación con el envío de comentarios entre ambos usuarios, lo que facilitará el
llegar a un acuerdo por la solicitud aceptada.
Figura 12 Figura 13
Pantalla dashboard con notificación pendiente Pantalla de cometarios y notificación
En las Figuras 14, 15 se observan las pantallas finales del proceso de contratación de
servicios profesionales, donde se da por terminado el trabajo solicitado previo la
validación del cliente / solicitante y se finaliza con la calificación del profesional.
Figura 14 Figura 15
Pantalla en progreso terminar oferta Pantalla calificación profesi onal
Y en la Figura 16 los usuarios podrán visualizar sus datos personales registrados
previamente en la pantalla de registro, en la cual los usuarios podrán actualizar sus datos
personales.
Figura 16
Pantalla perfil usuario
En la Figura 17 se muestra la página de inicio de sesión de uso exclusivo para el
usuario administrador, la cual le permitirá acceder a las diferentes páginas que cuenta
este sitio web.
Figura 17
Pantalla de inicio de sesión página administrativa
En la Figura 18, al iniciar sesión se muestra la primera página, la cual corresponde a la
visualización de las diferentes ofertas de trabajo publicadas por categoría, en esta se
podrán ver los datos registrados por los usuarios, así como validar su estado actual.
Figura 18
Pantalla de ofertas de trabajo registradas
En la Figura 19 se muestra la segunda página, que corresponde a la visualización de los
usuarios que utilizan la aplicación móvil, en esta se podrán visualizar los datos
personales de los usuarios, así como tener un botón de acción para bloquear al usuario
en caso de ser necesario.
Figura 19
Pantalla de usuarios registrados
Y finalmente, en la Figura 20 se observa la última página, que pertenece a la
administración de categorías, siendo esta la encargada de ingresar, actualizar,
deshabilitar y mostrar las categorías que utilizará la aplicación móvil para el registro de
solicitudes, así como para la visualización de los campos del formulario.
Figura 20
Pantalla de administración de categorías
Conclusiones
El levantamiento de requerimientos fue un factor inicial importante en el desarrollo del
proyecto, donde se estableció las funcionalidades principales que tendrá el prototipo
para cumplir la implementación del proceso de contratación de servicios profesionales
automatizado.
Firebase, como backend del prototipo propuesto, permitió enfocarse principalmente en
el desarrollo de la aplicación móvil y la página administrativa, ya que la administración
de usuarios y el manejo de la persistencia de información fue exclusivo de la plataforma
y evitó la necesidad de generar servicios web para obtener y enviar información.
En el desarrollo de la aplicación móvil se utilizó Android Studio con Kotlin, un lenguaje
que permitió reducir el tiempo de desarrollo al realizar una menor codificación. Para la
página administrativa, Angular, con su arquitectura de componentes, agilizó la creación
de la página web, ya que facilita la reutilización. Estas herramientas permitieron cumplir
los objetivos propuestos y bajo la metodología Scrum, los objetivos y tiempos
establecidos para este proyecto.
Las pruebas funcionales en la aplicación móvil y página administrativa permitieron
verificar su correcto funcionamiento y realizar la corrección de errores vistos durante las
pruebas, también comprobar que todos los requisitos establecidos en las historias de
usuarios fueron cumplidos.
Referencias
Aitana Soluciones ERP y CRM. (16 de octubre de 2018). Visual Studio Code:
Funcionalidades y extensiones. El Blog de Aitana.
https://blog.aitana.es/2018/10/16/visual-studio-code/
Cabify. (s. f.). Cabify. https://cabify.com/ec
CompuTrabajo. (s. f.). CompuTrabajo. https://www.computrabajo.com.ec/
Deemer, P., Benefield, G., Larman, C., & Vodde, B. (2009). Información básica de
SCRUM. Scrum Training Institute.
http://libroslibres.uls.edu.sv/informatica/informacion_basica_scrum.pdf
Developers. (17 de mayo de 2021). Introducción a Android Studio. Android
Developers. https://developer.android.com/studio/intro?hl=es-419
Giraldo, V. (16 de abril de 2019). ¿Ya conoces Firebase? La herramienta de desarrollo
y análisis de aplicaciones mobile. Rock Content https://rockcontent.com/es/blog/que-es-
firebase/
Google. (s. f.). Material Design. Material.io. https://material.io/design
Grijalva, A.M. (21 de agosto de 2020). Jóvenes en la informalidad y lo que sabemos
sobre sus condiciones de trabajo: Parte 1, levantamiento de información. PNUD
Ecuador. https://www.ec.undp.org/content/ecuador/es/home/blog/2020/jovenes-en-la-
informalidad-y-lo-que-sabemos-sobre-sus-condicione.html
Hernández, U. (03 de junio de 2018). Qué es TypeScript. CódigoFacilito.
https://codigofacilito.com/articulos/typescript
IBM. (s. f.). Formato JSON (JavaScript Object Notation).
https://www.ibm.com/docs/es/baw/20.x?topic=formats-javascript-object-notation-json-
format
inDriver. (s. f.). inDriver. https://indriver.com/es/city/
Lozano Chaguay, L., Lozano Chaguay, S., & Robledo Galeas, R. (2020). Desempleo en
tiempos de Covid-19: efectos socioeconómicos en el entorno familiar. Journal of
Science and Research: Revista Ciencia e Investigación, 5(4), 187-197.
https://revistas.utb.edu.ec/index.php/sr/article/view/926/667
Martínez, A. B. (s. f.). Nomenclaturas de programación: camelCase, PascalCase,
snake_case. Platzi. https://platzi.com/clases/2218-pensamiento-logico/35651-
nomenclaturas-de-programacion-camelcase-pascalcase/
multitrabajos. (s. f.). multitrabajos. https://www.multitrabajos.com/
OIT. (24 de febrero de 2021). Plataformas digitales: un futuro del trabajo con
oportunidades y desafíos para América Latina y el Caribe. Organización Internacional
del Trabajo. https://www.ilo.org/americas/sala-de-prensa/WCMS_773309/lang--
es/index.htm
Opcionempleo. (s. f.). Opciónempleo. https://www.opcionempleo.ec/
Orozco, A. G. (05 de abril de 2021). Qué es Kotlin y características. OpenWebinars
https://openwebinars.net/blog/que-es-kotlin/
Uber. (s. f.). Uber. https://www.uber.com/global/es/sign-in/
Copyright (c) 2021 Henry Daniel Rojas Cisneros
Este texto está protegido bajo una licencia internacional Creative Commons 4.0.
Usted es libre para Compartircopiar y redistribuir el material en cualquier medio o
formato y Adaptar el documento remezclar, transformar y crear a partir del
materialpara cualquier propósito, incluso para fines comerciales, siempre que cumpla
las condiciones de Atribución. Usted debe dar crédito a la obra original de manera
adecuada, proporcionar un enlace a la licencia, e indicar si se han realizado cambios.
Puede hacerlo en cualquier forma razonable, pero no de forma tal que sugiera que tiene
el apoyo del licenciante o lo recibe por el uso que hace de la obra.
Resumen de licencia Texto completo de la licencia