Code Monkey home page Code Monkey logo

music-matcher's People

Contributors

joaquingv12 avatar noise-kngdm avatar

Watchers

 avatar

Forkers

joaquingv12

music-matcher's Issues

Fix error on README.md

The readme is supposed to say 'listening history', but 'listening story' was written by mistake in the following line:

From your Spotify listening story, *music-matcher* will suggest people who will also be eager to meet you.

[HU004] Daniel Sanz user story

As Daniel, I'd like to use the application to connect with my Spotify account -the music streaming service that I use the most-, to have the information on my music taste as accurate as possible.

Rework the programmed entities

Description

After running pylint on the repository using the -s/--style flag, the program returns the following output:

(music-matcher-Lt0fWanJ-py3.9) ➜  music-matcher git:(feature/rework-branch) inv check -s
************* Module music.song
music/song.py:4:11: C0303: Trailing whitespace (trailing-whitespace)
music/song.py:6:0: C0303: Trailing whitespace (trailing-whitespace)
music/song.py:13:31: C0303: Trailing whitespace (trailing-whitespace)
music/song.py:1:0: C0114: Missing module docstring (missing-module-docstring)
music/song.py:3:4: R0913: Too many arguments (6/5) (too-many-arguments)
music/song.py:1:0: R0903: Too few public methods (0/2) (too-few-public-methods)
************* Module user_information.profile
user_information/profile.py:4:11: C0303: Trailing whitespace (trailing-whitespace)
user_information/profile.py:6:0: C0303: Trailing whitespace (trailing-whitespace)
user_information/profile.py:1:0: C0114: Missing module docstring (missing-module-docstring)
user_information/profile.py:3:4: R0913: Too many arguments (7/5) (too-many-arguments)
user_information/profile.py:1:0: R0903: Too few public methods (0/2) (too-few-public-methods)
************* Module user_information.music_history
user_information/music_history.py:4:11: C0303: Trailing whitespace (trailing-whitespace)
user_information/music_history.py:6:0: C0303: Trailing whitespace (trailing-whitespace)
user_information/music_history.py:13:50: C0303: Trailing whitespace (trailing-whitespace)
user_information/music_history.py:1:0: C0114: Missing module docstring (missing-module-docstring)
user_information/music_history.py:1:0: R0903: Too few public methods (0/2) (too-few-public-methods)

------------------------------------------------------------------
Your code has been rated at 3.60/10 (previous run: 3.60/10, +0.00)

The different entities should be reviewed and this errors should be fixed.

[HU005] Sandra user story

As Sandra, I'd like to use an application that has a good model of my music taste in order to get the best possible matches.

[HU002] Jorge Joestar user story

As Jorge Joestar, I want to know which bands are more demanded in a region so I can maximize my benefits as a music promoter when organizing a festival.

Create a test container

Description

To keep working on #8, once the base image is chosen for #23, a test container that follows the Docker best practices should be developed to ease the task of testing the application.

Tasks

  • Create Dockerfile
  • Upload it to Docker Hubs
  • Add a task to the invoke tasks.py file to run the tests using the container

Automate test container's build when the repository is updated

Description

To keep working on ease the test tasks made for #8, building and pushing the Docker container created for #24 should be automated using a GitHub Action that builds a new image when any of the files used by the Dockerfile -as of now poetry.lock, pyproject.toml and the Dockerfile- are updated and then pushes it to Docker Hub.

Decide which recommendation algorithm is going to be used

Description

To be able to fulfill #2 and #8, it's necessary to, once #20 has been finished, decide the recommendation algorithm that is going to be used and implement it. As a first approach, we have considered to use clustering algorithms, as they allow us to have a reliable way of dividing our user-base in categories.

The aim of this issue is to decide which algorithm is going to be used and implement it.

[HU003] Luis Javier user story

As Luis Javier, I want to meet people with a similar music taste that would also be interested in having a romantic relationship so that I could find a couple.

Add Profile and MusicHistory classes

Both classes will contain the necessary information of the users. Profile class will contain the age, name, gender, favourite music genre, favourite artists and music history. Moreover, MusicHistory class will store the songs played, all the music genres played, favourite songs and playlists.

Define a data model

To be able to fulfill #2 and #8, it is necessary to first have a reliable data model which we can work with afterwards.

We have decided to define a file in the repository called data/music_genres.yaml to do that. There, we will have a list of basic music genres, such as rock, pop, classical, etc.; and for each music genre, we will define a list of sub-genres that are related between them and with their parent. This way, we will have a reliable way of classifying the music tastes of the users, and we will be able to use that information to classify the users in a later stage.

As part of this issue, it's necessary to define a first draft the aforementioned data/music_genres.yaml.

Fix links in README.md

Both links in the additional documentation section are actually broken. It's imperative to fix them soon.

Choose a base image to build the testing container on

To keep working on #8, we need to choose a docker base image to build our docker testing environment on top of it.
The principles this image should follow are these:

  • Lightweight
  • Stable
  • Fast builds
  • Frequent updates
  • It should ship with Python or allow installing Python in a fast way

Restructure the `README.md` file

The disertations about the different development decissions should be in a separate file linked in the README, and not in the proper README.

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.