Volver a proyectos
14 may 2024
2 min de lectura

SongRecommendations

Un proyecto universitario que recomienda canciones a partir de un catálogo precargado.

Este proyecto en Java se creó como proyecto final de la asignatura universitaria de Programación Avanzada. Toma una lista predefinida de canciones y sus parámetros, entrena un algoritmo y ofrece recomendaciones de canciones que pueden gustarle al usuario.

Sobre la aplicación

La aplicación cuenta con una interfaz gráfica construida con JavaFX y usa Maven para la gestión del proyecto. Incluye también pruebas unitarias para verificar los algoritmos de recomendación y el lector de archivos CSV.

Algoritmos

Los usuarios pueden elegir entre dos algoritmos de recomendación:

  • K1NN: un algoritmo de vecino más cercano para recomendaciones basadas en similitud.
  • KMeans: un algoritmo de agrupamiento que agrupa canciones por características similares.

Patrones de diseño

Se usaron varios patrones de diseño para mejorar la estructura del proyecto:

  • Strategy: permite cambiar de algoritmo de recomendación de forma dinámica.
  • Template Method: define la estructura general del proceso de recomendación.
  • MVC: separa modelo, vista y controlador para una arquitectura limpia.

Objetivo académico

El proyecto demuestra la aplicación práctica de algoritmos y patrones de diseño, combinando la teoría académica con un sistema de recomendación musical en funcionamiento.