Skip to content

Flask app offering personalized song recommendations using cosine and RBF similarity. Includes song exploration, tailored recommendations, a favorites list, Redis caching, and Dockerization.

Notifications You must be signed in to change notification settings

vdrvar/spotify_recommender_system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Spotify Recommender System

Overview

The Spotify Recommender System is a Flask-based web application designed to provide personalized song recommendations. This system leverages a recommendation algorithm that utilizes both cosine similarity and radial basis function (RBF) similarity to analyze user preferences and interaction history. By integrating these similarity measures, the system can curate a list of songs that users might enjoy, tailoring recommendations to match their unique musical tastes accurately.

Features

  • Explore Songs: Browse through a curated list of songs.
  • Personalized Recommendations: Receive song recommendations tailored to your musical taste.
  • Favorites: Add songs to your favorites list for personalized recommendations.

Screenshots

Home Page

image

Explore Songs

image

Recommendations

image

Technologies Used

  • Flask: A lightweight WSGI web application framework.
  • Python: The backend programming language.
  • Redis: For caching data such as session states and recommendations.
  • Prometheus: For monitoring the application's performance and health.
  • HTML/CSS: For the frontend design.

Getting Started

Prerequisites

  • Ensure you have Python 3.6+ installed on your system. Flask can be installed and run on Windows, macOS, and Linux environments.
  • Docker and Docker Compose installed on your system if you wish to run the application in a containerized environment.

Running with Docker Compose

To run the application using Docker Compose, which sets up both the application and its dependencies like Redis and Prometheus:

  1. Clone the repository:
git clone https://github.com/vdrvar/spotify_recommender_system.git
  1. Navigate to the app directory:
cd spotify_recommender_system/app
  1. Build and start the services:
docker-compose up --build

This command builds the necessary Docker images and starts the services defined in the docker-compose.yml file. It includes your Flask application, Redis, and Prometheus.

  1. Access the application: After running the Docker Compose command, visit http://localhost:5000/ in your web browser to start exploring songs and receiving recommendations.

Shutting Down

To stop and remove the containers set up by Docker Compose:

docker-compose down

This command stops all the running containers and removes them along with their network, but keeps your data intact.

Cleaning Up

To remove everything, including any volumes created by Docker Compose:

docker-compose down -v

This will remove the containers, network, and all data associated with the application's Docker Compose setup.

Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Vjekoslav Drvar - @VjekoslavDrvar

Project Link: https://github.com/vdrvar/spotify-recommender-system

Acknowledgements

About

Flask app offering personalized song recommendations using cosine and RBF similarity. Includes song exploration, tailored recommendations, a favorites list, Redis caching, and Dockerization.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published