Difference between revisions of "Development/Summer of Code/2021/ListenBrainz"

From MusicBrainz Wiki
Jump to navigationJump to search
Line 21: Line 21:


Possible summer projects:
Possible summer projects:
* Tweet length reviews (backed by CB)
* Pin my jam
* Pin my jam
* Implement a troi plugin
* Implement a troi plugin
* Import Genres to MB from curated sources
* Import Genres to MB from curated sources
* Create pages for "data missing from MB".


We're adding a number of new social features to ListenBrainz that we hope will enable people discover more music they like and users who have similar music tastes to their own. We're working on some of these features now, but we will need to get help for other features:
We're adding a number of new social features to ListenBrainz that we hope will enable people discover more music they like and users who have similar music tastes to their own. We're working on some of these features now, but we will need to get help for other features:

Revision as of 16:58, 17 February 2021

ListenBrainz is one of the newest MetaBrainz projects. Read more information on its homepage.

Getting started

(see also: Getting started with GSoC)

If you want to work on ListenBrainz you should show that you are able to set up the server software and understand how some of the infrastructure works. Here are some things that we might ask you about

  • Show that you understand the goals that ListenBrainz wants to achieve, which are written on its homepage
  • Create an oauth application on the MusicBrainz website and add the configuration information to your ListenBrainz server. Use this to log in to your server with your MusicBrainz details
  • Use the import script that is part of the ListenBrainz server to load scrobbles from last.fm to your ListenBrainz server, or the main ListenBrainz server
  • Use your preferred programming language to write a submission tool that can send Listen data to ListenBrainz. You could make up some fake data for song names and artists. This data doesn't have to be real.
  • Try and delete the ListenBrainz database on your local server to remove the fake data that you added.
  • Look at the list of tickets that we have open for ListenBrainz and see if you understand what tasks the tickets involve
  • If you want to, see if you can contribute to fixing a ticket. Either add a comment to the ticket or ask in IRC for clarification if you don't understand what the ticket means

Ideas

Projects for March hack week:

  • Use follow/following feature
  • Timeline
  • Compatible users design and early version hacking.

Possible summer projects:

  • Pin my jam
  • Implement a troi plugin
  • Import Genres to MB from curated sources

We're adding a number of new social features to ListenBrainz that we hope will enable people discover more music they like and users who have similar music tastes to their own. We're working on some of these features now, but we will need to get help for other features:

Create short music reviews on ListenBrainz using the CritiqueBrainz API

Proposed mentors:mayhem, iliekcomputers
Languages/skills: Javascript, React

On the ListenBrainz timeline (a coherent, non-sucky version of the FB timeline) we would like to enable people to write "mini-reviews" about artists, releases or tracks (recordings). Once a review is written, the ListenBrainz page should submit the the review to CritiqueBrainz using its API. This project must also include loading reviews into the timeline that may exist in CritiqueBrainz. This task may not be sufficient for a whole GSoC project, so you should consider proposing a stretch goal to shoot for in case this project is finished early.

Create html pages that display data missing from MusicBrainz

Proposed mentors:mayhem, iliekcomputers
Languages/skills: Javascript, React, Python/Flask, Postgres

In the LB database we've been collecting metadata about artists, releases and recordings that may be missing from MusicBrainz. This project needs to add some new python flask views and react components to display what is known about the missing data we've collected. These pages should then explain to our users why they should be adding this data to MusicBrainz (it will make their stats/recommendations better) and then provide links to MB pages that allow pre-populating the missing data into the MusicBrainz data submission pages. For adding releases, the release editor should be seeded according to the release editor seeding guidelines.