Takaisin projekteihin
Musiikin Suosittelusovellus

Musiikin Suosittelusovellus

Sami Paananen / 9. lokak. 2024

Tämä projekti on musiikin suosittelusovellus, joka käyttää koneoppimista generoimaan kappalesuosituksia käyttäjän Spotify-soittolistan perusteella. Sovellus kehitettiin osana kouluprojektia, keskittyen sekä ohjelmointiin että ohjelmistokehityksen elinkaareen (SDLC) Scrum-menetelmää hyödyntäen.

Ominaisuudet

  • Käyttäjän rekisteröinti: Mahdollisuus käyttäjien rekisteröityä ja kirjautua sisään.
  • Spotify-soittolistojen integrointi: Hae käyttäjän soittolistat Spotify API:n kautta.
  • Kappalesuositukset: Generoi kappalesuosituksia vertaamalla soittolistavektoreita kosinifunktion avulla.
  • Musiikkisoitin: Sisältää toisto-, tauko-, seuraava-, edellinen- ja hakuominaisuudet.
  • Lokalisaatio: Tukee useita kieliä, kuten englantia, farsia, suomea, ranskaa, japania ja venäjää.
  • Kappaleiden arviointi: Käyttäjät voivat arvioida kappaleita 0-5 tähdellä, ja arviot tallennetaan tietokantaan.

Teknologiat

  • Python: Python oli luonnollinen valinta koneoppimiseen perustuvassa sovelluksessa, sen kattavien koneoppimiskirjastojen takia.
  • Scikit-learn: Pythonin koneoppimiskirjasto, jota käytettiin soittolistavektoreiden luomiseen.
  • Django: Backend, joka käsittelee API-pyynnöt ja palvelee sovellusta.
  • React: Frontend-kehys käyttäjärajapinnan rakentamiseen.
  • Spotify API: Integroitu hakemaan käyttäjien soittolistat ja kappaletiedot.
  • MongoDB: NoSQL-tietokanta käyttäjätietojen, kappalearvioiden ja suositusten tallentamiseen.
  • Jenkins: Testien ja julkaisun automatisoiminen.
  • AWS: Sovellus oli julkisesti saatavilla projektin aikana AWS-pilvipalvelujen (EC2, S3) avulla.
  • Docker: Sovellus säilöttiin Dockerilla helpompaa käyttöönottoa varten.

Yhteenveto

Tämä musiikin suosittelusovellus havainnollisti, kuinka koneoppiminen voi parantaa käyttäjäkokemusta tarjoamalla personoitua sisältöä. Integroimalla Spotify API:n ja hyödyntämällä scikit-learn-kirjastoa, tämä projekti tarjosi inspiroivan oppimisprosessin. Käymällä kaikki vaiheet läpi SDLC:stä ja hyödyntämällä Scrum-menetelmää, tämä projekti oli todellinen harjoitus oikeasta ohjelmistokehitys projektista.

Linkit

Kommentit