• Stars
    star
    189
  • Rank 204,649 (Top 5 %)
  • Language
    JavaScript
  • License
    GNU General Publi...
  • Created almost 10 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

BookBrainz website, written in node.js.


BookBrainz

Server for the BookBrainz project

CI status Tests status Coverage status Maintainability

Website • Documentation • Bug tracker


This repository contains the code for the BookBrainz web site. The directories are arranged as follows:
  • config - the config to be used when running the site; copy the example files and edit, dropping the .example suffix.
  • docker - deployment files and configurations
  • scripts - scripts used during the development and deployment of BookBrainz.
  • sql - PostgreSQL database schemas and migration files—formerly separated in https://github.com/bookbrainz/bookbrainz-sql
  • src - node.js source files defining the site logic and user interface.
  • static - static files which are served by node as part of the site.
  • test - unit tests and functional tests for the site.

Additionally, after building the client JavaScript (see below), the following directories will exist:

  • lib - compiled and minified server files
  • static/stylesheets - the CSS generated from compiling the project LESS files (src/client/stylesheets).
  • static/js - minified JavaScript files which are referred to by the site pages.

Contact and updates

Any questions? You can get in contact with the community on our IRC channel or our forums, or send us an email

Breaking changes to the database schema or our API will be announced on our blog, along with our other major updates, so consider following that.

Contributing

We welcome any and all contributions ! Whether you want to add or improve entries on bookbrainz.org, fix an issue on the website or provide new functionality, we'll be happy to have your help and count you part of our ranks ! If you are new to open source contribution workflows, have a look at this beginner's guide and our contribution guidelines. Looking for existing issues, or to report a new bug you found? Head to our ticket tracker at https://tickets.metabrainz.org/projects/BB ! Still not sure what to start with? Have a look at tickets tagged good-first-bug

Setting up a local BookBrainz server

For instruction on how to set up and configure a local BookBrainz instance, as well as troubleshooting common issues and setting up testing, please visit our developer docs: https://bookbrainz-dev-docs.readthedocs.io

Documentation

The developer documentation can be found at https://bookbrainz-dev-docs.readthedocs.io

We also have a user guide for the website https://bookbrainz-user-guide.readthedocs.io

The inline documentation found in this repository is served alongside on Github Pages: https://metabrainz.github.io/bookbrainz-site

Our contributing guidelines can be found here.


Beta and test subdomains

We have two separate subdomains for the purpose of testing and rolling out beta features. You can sign in with the same account as the one you use on the main website.

beta.bookbrainz.org uses the main database but with a newer version of the code that hasn't been released yet. It is used to test new features.

test.bookbrainz.org: all changes made to this subdomain are not in sync with the main database and vice versa. This domain is for you to tinker with all features of the website freely without having to verify the correctness of the data you enter. This comes in handy if that's all you need to do instead of having to set up BookBrainz locally. This subdomain is used for testing only and the data is not maintained or updated. It is not guaranteed that any of the data will be authentic.

More Repositories

1

picard

MusicBrainz Picard audio file tagger
Python
3,710
star
2

musicbrainz-server

Server for the MusicBrainz project (website, API, database tools)
Perl
816
star
3

listenbrainz-server

Server for the ListenBrainz project, including the front-end (javascript/react) code that it serves and all of the data processing components that LB uses.
Python
666
star
4

musicbrainz-docker

Docker Compose project for the MusicBrainz Server with replication, search, and development setup
Shell
297
star
5

picard-plugins

Picard plugins: use 1.0 branch for Picard < 2.0 (python 2/Qt4) and 2.0 branch for Picard >= 2.0 (python 3/Qt5)
Python
145
star
6

acousticbrainz-server

The server components for the AcousticBrainz project
Python
136
star
7

musicbrainz-android

The Official App of MusicBrainz
Kotlin
127
star
8

listenbrainz-android

Official Android App of ListenBrainz
Kotlin
92
star
9

libmusicbrainz

MusicBrainz Client Library
C++
68
star
10

critiquebrainz

Repository for Creative Commons licensed reviews
Python
66
star
11

mbspotify

MusicBrainz Spotify integration hack for SF Music Hack Day 2014
Python
64
star
12

troi-recommendation-playground

A recommendation engine playground that should hopefully make playing with music recommendations easy.
Python
51
star
13

libcoverart

C/C++ library for accessing the MusicBrainz Cover Art Archive
C++
43
star
14

libdiscid

C library for creating MusicBrainz DiscIDs from audio CDs
C
40
star
15

spambrainz_ml

Models for metabrainz/spambrainz
Jupyter Notebook
39
star
16

artwork-redirect

URL redirect service for the coverartarchive.org
Python
38
star
17

MusicBrainz-R2RML

R2RML mappings for the MusicBrainz schema
Shell
31
star
18

design-system

A Storybook project for UI development of React components for the MetaBrainz projects
JavaScript
29
star
19

docker-anon-ftp

Anonymous ftp server docker image based on vsftpd, used to serve MetaBrainz files
Shell
28
star
20

liblistenbrainz

A simple ListenBrainz client library for Python
Python
27
star
21

metabrainz.org

Website for the MetaBrainz Foundation
HTML
25
star
22

picard-website

Website for MusicBrainz Picard
Less
25
star
23

listenbrainz-labs

A collection tools/scripts to explore the ListenBrainz data using Apache Spark.
Python
16
star
24

picard-docs

Documentation for MusicBrainz Picard
Python
13
star
25

listenbrainz-ios

iOS App of ListenBrainz
Swift
11
star
26

metabrainz-logos

All of the logos, concept drawings and iterations of our logo redesign.
10
star
27

brainzutils-python

Python utilities for MetaBrainz projects
Python
10
star
28

messybrainz-server

The MessyBrainz project
CSS
10
star
29

sir

Transfer data from a MusicBrainz database to a Solr server
Python
9
star
30

search-server

Old MusicBrainz server server code based on Lucene 4
Java
9
star
31

geordi

MusicBrainz label feed ingestion tools
CSS
9
star
32

bookbrainz-data-js

A JavaScript data access module for BookBrainz
JavaScript
9
star
33

CAA-spec

The specification for how the Cover Art Archive works
8
star
34

mmd-schema

The MusicBrainz XML Metadata (MMD) Schema
Java
7
star
35

vagrant-images

Various ways to set up virtual machines managed by Vagrant/Chef
Ruby
7
star
36

musicbrainz-vm

Scripts for creating the MusicBrainz VM with Vagrant and Docker.
Shell
7
star
37

serviceregistrator

A Python-based bridge between docker containers and consul services, based on gliderlabs/registrator
Python
6
star
38

bookbrainz-user-guide

The user guide for BookBrainz, including general information, how-tos and style guidelines, hosted on readthedocs.org
5
star
39

docker-postgres

MetaBrainz postgres + pgbouncer container
Shell
5
star
40

musicbrainz-data

Data access layer for the NES version of the MusicBrainz database.
Haskell
5
star
41

CAA-indexer

A bot that watches MusicBrainz for changes and updates Cover Art Archive indexes
Perl
5
star
42

mb2wikidatabot

A bot for importing data from MusicBrainz into Wikidata
Python
5
star
43

data-set-hoster

Fill out a simple python object, host the results!
Python
4
star
44

postgresql-musicbrainz-collate

MusicBrainz collation routines for PostgreSQL
C
4
star
45

musicbrainz-ios

iOS App of MusicBrainz
Swift
4
star
46

musicbrainz-data-service

A JSON/HTTP server for exposing the musicbrainz-data library
Haskell
4
star
47

picard-snap

Code for snapping MusicBrainz Picard
Shell
4
star
48

listenbrainz-matching-tools

Useful tools for matching metadata to and from MusicBrainz.
Python
4
star
49

docker-helpers

Various scripts related to docker
Shell
4
star
50

postgresql-musicbrainz-unaccent

MusicBrainz unaccenting routines for PostgreSQL
C
4
star
51

docker-openresty

Openresty + luarocks + lua autossl
Dockerfile
4
star
52

mb-mail-service

Service for MusicBrainz to send emails
Rust
4
star
53

metabrainz-howto-guides

Documentation that captures common conventions and best practices of the foundation.
3
star
54

acousticbrainz-android

C++
3
star
55

mbsssss

MusicBrainz simple Solr search server schema
Python
3
star
56

bookbrainz-dev-docs

The developer documentation for the BookBrainz project, written in MarkDown and hosted on readthedocs.org
Python
3
star
57

genre-matching

Experiments to match external genre datasets to musicbrainz genres
Python
3
star
58

dbmirror

Database mirroring system for PostgreSQL
Perl
3
star
59

listenbrainz-content-resolver

Resolve ListenBrainz playlists from JSPF files to local playlists.
Python
3
star
60

docker-redis

MetaBrainz redis cluster
Shell
3
star
61

ansible-role-docker

Ansible role to install, configure and manager Docker on Ubuntu systems
Jinja
3
star
62

spambrainz

Spam detection for MusicBrainz
Jupyter Notebook
3
star
63

irombook-instrument-images

Stores free instrument images made by IROMBOOK and available from their websites
3
star
64

artist-artist-relations

A simple python script to calculate artist relations based on various artist albums in MusicBrainz.
Python
3
star
65

mb-solr

MusicBrainz Solr query response writer
Java
3
star
66

guidelines

Guidelines for contributing to MetaBrainz projects
2
star
67

messybrainz-labs

Scripts and other nonsense in an attempt to make the MessyBrainz data useful.
Python
2
star
68

logster

Logster parsers that MusicBrainz uses
Python
2
star
69

ansible-role-telegraf

Ansible role to install, configure and manage Telegraf on Ubuntu systems
Jinja
2
star
70

discourse-musicbrainz-auth

Ruby
2
star
71

miscellaneous

PHP
2
star
72

web-service-v3-design

A collaborative specification for the third version of the MusicBrainz web service
Haskell
2
star
73

ansible-role-shorewall

Ansible role to install, configure and manage Shorewall on Ubuntu systems
Jinja
2
star
74

changed-mbid-feed

A data feed of all the MBIDs that have changed in the last hour
Python
2
star
75

docker-python

Docker base image that comes with Python out of the box
Dockerfile
2
star
76

dbmirror2

Database mirroring system for the MusicBrainz Live Data Feed
PLpgSQL
2
star
77

bookbrainz-utils

The producer and consumer applications handling data imports for BookBrainz
TypeScript
2
star
78

gitzconsul

Clone a git repo containing json files, and keep a consul kv in sync with it (similar to git2consul)
Python
2
star
79

metric-writer

A simple script to periodically fetch all metrics collected in Redis to be sent to influx
Python
2
star
80

picard-plugin-tools

Tools to manage picard plugins
Python
2
star
81

mlhd-import

Scripts to parse and import the Music Listening History Dataset
Python
2
star
82

xmpp-messaging-server

Prototype of communications server and client for MetaBrainz projects
Python
2
star
83

musicbrainz-email

A daemon that sends emails, along with templates and scripts to enqueue emails
Haskell
1
star
84

sys-tools

random collection of system administration tools for use with MusicBrainz
Python
1
star
85

ansible-role-etc_hosts

Ansible role to manage /etc/hosts
Jinja
1
star
86

docker-exim

Exim docker image to relay MeB mails to GSuite, mainly
Shell
1
star
87

caa-admin

An administration companion for CAA-indexer
Haskell
1
star
88

mbs_logs_parsers

Generate tops from mbs nginx logs
Python
1
star
89

listenbrainz-now-playing

JavaScript
1
star
90

modbot

ModBot inspects the open edit queue and attempts to merge/reject edits appropriately
Haskell
1
star
91

chef-cookbooks

Various Chef cookbooks for provisioning MusicBrainz
Ruby
1
star
92

ansible-role-shorewall6

Ansible role to install, configure and manage Shorewall6 on Ubuntu systems
Jinja
1
star
93

search-indexer

Old search indexer code that creates indexes and pushes them to the old search servers based on Lucene 4.
Python
1
star
94

.github

Default community health files for @MetaBrainz GitHub repositories
1
star
95

musicbrainz-docs

MusicBrainz Documentation
Python
1
star
96

artwork-indexer

A daemon that watches MusicBrainz for changes and updates Cover Art Archive indexes
Python
1
star
97

jenkins

Jenkins container for testing MetaBrainz projects
Dockerfile
1
star
98

ansible-role-unbound

Ansible role to install and configure Unbound
Jinja
1
star
99

djcaa

A Cover Art Archive administration tool
Perl
1
star
100

bm

A quick python url benchmark script
Python
1
star