noise-kngdm / music-matcher Goto Github PK
View Code? Open in Web Editor NEWConnect with people based on your music taste.
License: GNU General Public License v3.0
Connect with people based on your music taste.
License: GNU General Public License v3.0
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.
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.
As an user, Lucía wants to find people with a similar music taste so that she avoids going to live shows alone.
Both links in the additional documentation section are actually broken. It's imperative to fix them soon.
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.
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.py
file to run the tests using the containerThe readme is supposed to say 'listening history', but 'listening story' was written by mistake in the following line:
Line 7 in 549124e
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.
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.
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:
We should choose two CI platforms to test the project under different Python versions.
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
.
To do this, we should use the test container to run the tests in a CI platform.
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.
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.
As stated in the infrastructure decisions document, the minimum Python version supported is Python 3.9
, so we should test the project for at least Python 3.9
and 3.10
.
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.
The disertations about the different development decissions should be in a separate file linked in the README, and not in the proper README.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.