GithubHelp home page GithubHelp logo

vdrvar / spotify_recommender_system Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 0.0 24.08 MB

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

Python 60.20% HTML 36.99% Dockerfile 2.81%

spotify_recommender_system's Introduction

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

spotify_recommender_system's People

Contributors

vdrvar avatar

Stargazers

Luka Jovanovic avatar Luka Merćep avatar  avatar  avatar

Watchers

Kostas Georgiou avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.