[object Object] - Fran García López

Groupify

Nuestro equipo, compuesto por Luigi Cucciolilio, Belen Bastos y yo, desarrollamos una aplicación web que conecta a los usuarios con intereses compartidos en diversos eventos.

Los usuarios pueden seleccionar sus eventos preferidos, y a través de un algoritmo de agrupación avanzado, gestionado por un administrador, se organizan en grupos con otras personas afines que no han conocido antes, utilizando un algoritmo.

A cada grupo se le proporciona acceso a un chat en vivo, fomentando la interacción en tiempo real y garantizando una experiencia social fluida y enriquecedora.

Nuclio Project Image 1
Nuclio Project Image 2
Nuclio Project Image 3
Nuclio Project Image 4
Nuclio Project Image 5
Nuclio Project Image 6

Características del Algoritmo

agrupación dinámica

Los usuarios se agrupan automáticamente en función de los eventos seleccionados mediante agregaciones de MongoDB.

  • Evita la duplicación de eventos a través de un sistema de seguimiento eficiente.

proceso de formación de grupos

Los usuarios con intereses comunes se extraen mediante consultas agregadas.

  • Se utiliza un método de mezcla aleatoria para garantizar la diversidad en la formación de grupos.
  • Los usuarios se dividen en pares mediante técnicas de particionamiento de listas.

asignación de eventos únicos

La disponibilidad de eventos para cada usuario se verifica en tiempo real.

  • Garantiza la equidad al evitar asignaciones de eventos duplicados a los grupos.

persistencia de datos

Los grupos formados se almacenan en la base de datos de MongoDB.

  • Las referencias de los grupos se actualizan en los perfiles de usuario.

Pruebas End-to-End

Se ha realizado la configuracion para realizar pruebas end-to-end con Vite y Jest una vez que el proyecto se guarda en local

Para ello, se ha utilizado la librería concurrently, la cual permite ejecutar múltiples comandos en paralelo.

También se ha configurado GitHub Actions en la rama dev para ejecutar las pruebas de extremo a extremo previo a realizar un pull request.

Rol: Desarrollador Full Stack

Institución: Nuclio Digital School

Período de tiempo: De junio 2024 a enero 2025