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

Groupify

Our team, consisting of Luigi Cucciolilio, Belen Bastos and me, developed a web application that connects users with shared interests in various events.

Users can select their preferred events, and through an advanced grouping algorithm, managed by an administrator, they are organized into groups with other like-minded individuals they haven't met before, using an algorithim.

Each group is provided with access to a live chat, fostering real-time interaction and ensuring a seamless and enriching social experience.

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

Algorithm Features

dynamic grouping

Users are automatically grouped based on selected events using MongoDB aggregations.

  • Prevents event duplication through an efficient tracking system.

group formation process

Users with common interests are extracted through aggregated queries.

  • A random shuffle method is used to ensure diversity in group formation.
  • Users are divided into pairs using list partitioning techniques.

unique event assignment

Event availability for each user is verified in real time.

  • Ensures fairness by avoiding duplicate event assignments to groups.

data persistence

Formed groups are stored in the MongoDB database.

  • Group references are updated in user profiles.

End-to-End Testing

Configuration has been made to perform end-to-end tests with Vite and Jest once the project is saved locally.

For this purpose, the concurrently library has been used, which allows running multiple commands in parallel.

GitHub Actions has also been configured in the dev branch to run end-to-end tests prior to making a pull request.

Role: Full Stack Developer

Institution: Nuclio Digital School

Timeframe: From June 2024 to January 2025