Skip to content

Automatización de grupos de empleabilidad para Magneto. Proyecto para el curso del quinto semestre "Sistemas de Información" (ST0252) dado en la Universidad EAFIT.

Notifications You must be signed in to change notification settings

kristianrpo/automation-employability-groups

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Logo

SISTEMA DE GESTIÓN DE GRUPOS DE EMPLEABILIDAD

SISTEMAS DE INFORMACIÓN

Tabla de contenidos
  1. Sobre el proyecto
  2. Herramientas con las que se desarrolló
  3. Instalación
  4. Uso
  5. Autores
  6. Reconocimientos

Sobre el proyecto

Problemática

El problema identificado en este proceso radica principalmente en la cantidad significativa de actividades manuales requeridas por parte de Magneto en el envio de vacantes laborales a grupos de empleabilidad en distintas plataformas . La clasificación de vacantes debe realizarse manualmente debido a errores en el sistema, lo que conlleva un porcentaje de vacantes mal clasificadas o no geográficamente asignadas correctamente. Además, se necesita una verificación manual para evitar la duplicación de publicaciones en los grupos de WhatsApp. A esto se suma la creación manual de mensajes, gráficos y UTM para las publicaciones y el envio de todo lo mencionado anteriormente a los grupos en las distintas plataformas.

El proceso actual, que depende en gran medida de la intervención humana, no permite una gestión eficiente de los grupos de empleo. Por lo tanto, hemos identificado la necesidad de automatizar la clasificación de vacantes según el sector productivo y su asignación a los grupos de empleo correspondientes, asegurando la diversidad del contenido y evitando repeticiones. Además, el uso exclusivo de WhatsApp como plataforma de difusión limita el alcance a personas que utilizan otras herramientas en su vida diaria.

Solución

En el proyecto de automatización de grupos de empleabilidad, a través de la plataforma n8n, se logró automatizar el envío y clasificación de vacantes laborales a grupos de empleabilidad en Telegram. Esto permitió a Magneto, como organización, alcanzar a 9,276 personas adicionales en ciudades como Barranquilla, Bogotá, Cartagena, Santa Marta, Medellín e Ibagué, a través de mensajes llamativos que captan la atención de las personas para aplicar a oportunidades laborales. Anteriormente, esta información no llegaba a esta cantidad de personas debido a que Magneto no utilizaba Telegram para compartir vacantes laborales.

Además, se priorizó la escalabilidad en el flujo, lo que permite utilizarlo en el futuro para enviar vacantes laborales a otras plataformas, como WhatsApp, entre otros. De esta manera, Magneto puede enviar un conjunto de vacantes críticas al flujo creado, el cual se encargará de clasificarlas y enviarlas a la plataforma correspondiente según el sector especificado y los grupos asociados al mismo. Esto elimina la necesidad de que las personas realicen esta acción manualmente, ahorrando tiempo y recursos.

También se implementó en el sistema la gestión de notificaciones sobre los envíos de vacantes laborales mencionados anteriormente, para así, mantener informado al administrador sobre envíos exitosos y con fallos, siendo esto funcional y escalable para las distintas plataformas que se planeen implementar en un futuro.

Por último, se dejó una documentación completa sobre el funcionamiento del flujo, credenciales, pasos necesarios para utilizar el flujo, y parámetros sobre cómo escalar el mismo para las distintas plataformas.

Imagen del flujo creado en n8n:

Imagen de envio real por parte de Magneto de una vacante laboral de manera automatizada a grupos de empleabilidad existentes con lo implementado:

Imagen de base de datos con grupos de empleabilidad ofrecidos a la organización, con más de 9276 personas vinculadas:

Herramientas implicadas en el desarrollo

telegram n8n

Instalación

  1. Agregar el flujo de n8n al workspace, para ello, se descarga el archivo JSON de automation-employability-groups, y se importa dentro de un flujo en la plataforma
  2. Seguir los pasos especificados como pre-requisitos en la documentación de todo el proyecto para dejar el flujo de n8n totalmente funcional.
  3. Asegúrate de tener instalado Python en tu sistema. Puedes descargarlo desde python.org.
  4. Clonar el proyecto
  git clone https://github.com/kristianrpo/automation-employability-groups.git
  1. Configurar el entorno virtual, navegando hasta el directorio y aplicando el comando correspondiente para el funcionamiento del mismo.
  cd automation-employability-groups
  python -m venv venv 
  1. Activar el entorno virtual creado con el comando correspondiente
  ./venv/Scripts/activate
  1. Instalar dependencias para el correcto funcionamiento del proyecto
  pip install -r requirements.txt
  1. Ejecutar la aplicacion de FastAPI
  uvicorn main:app --reload
  1. Ahora el flujo de n8n puede conectarse al endpoint para permitir el envio de vacantes laborales a la plataforma de Telegram y futuras implementaciones.

Uso

A el endpoint generado por n8n, se envía un conjunto de vacantes laborales criticas a enviar a ciertas plataformas, con una serie atirbutos necesarios sobre dicha vacante, especificados en la documentación.

Posteriormente, el flujo de n8n se encargará de procesar dicha vacante y segun un sector ID asociado y una plataforma, hace la clasificacion correspondiente y el envio de los datos necesarios al endpoint en FAST API.

El endpoint de FASTAPI recibe los datos, y hace el uso de las diferentes APIS de las diferentes plataformas para hacer el envío de la vacante al grupo correcto.

Autores

El proyecto fué realizado por :

  • Kristian Restrepo Osorio
  • Sebastian Restrepo Ortiz
  • Luisa María Álvarez García
  • Miguel Ángel Martínez García

About

Automatización de grupos de empleabilidad para Magneto. Proyecto para el curso del quinto semestre "Sistemas de Información" (ST0252) dado en la Universidad EAFIT.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages