Fela Maslen 8122c3f9fb feat: route to stream a song by id %!s(int64=5) %!d(string=hai) anos
..
cmd ac5f891056 fix: incorrect import %!s(int64=5) %!d(string=hai) anos
migrations 9c43ce622a feat: scanner cronjob (#2) %!s(int64=5) %!d(string=hai) anos
pkg 8122c3f9fb feat: route to stream a song by id %!s(int64=5) %!d(string=hai) anos
.dockerignore 9c43ce622a feat: scanner cronjob (#2) %!s(int64=5) %!d(string=hai) anos
.gitignore 4775d52a09 Feature/music scanner (#1) %!s(int64=5) %!d(string=hai) anos
Dockerfile 9c43ce622a feat: scanner cronjob (#2) %!s(int64=5) %!d(string=hai) anos
Makefile 526806a453 feat: scaffolding for websocket server with webapp client %!s(int64=5) %!d(string=hai) anos
README.md 9c43ce622a feat: scanner cronjob (#2) %!s(int64=5) %!d(string=hai) anos
docker-compose.yml 526806a453 feat: scaffolding for websocket server with webapp client %!s(int64=5) %!d(string=hai) anos
example.env 4775d52a09 Feature/music scanner (#1) %!s(int64=5) %!d(string=hai) anos
go.mod 8122c3f9fb feat: route to stream a song by id %!s(int64=5) %!d(string=hai) anos
go.sum 8122c3f9fb feat: route to stream a song by id %!s(int64=5) %!d(string=hai) anos
init.sql 4775d52a09 Feature/music scanner (#1) %!s(int64=5) %!d(string=hai) anos
test.env 526806a453 feat: scaffolding for websocket server with webapp client %!s(int64=5) %!d(string=hai) anos

README.md

music-scanner

This is the backend part of the music player, written in Golang.

Building

Run make build inside this directory. Binaries will be built and output to the bin directory (which will be created if it does not exist).

Testing

Run make test inside this directory, to run unit and integration tests.

Migrations

First, make sure the following environment variables are set:

  • POSTGRES_HOST
  • POSTGRES_USER
  • POSTGRES_PASSWORD
  • POSTGRES_PORT (optional, defaults to 5432)
  • POSTGRES_DATABASE

Then, run:

  • make migrate

Creating migrations

After getting the migrate CLI tool, run:

  • NAME=create_some_table make migrate.make

Components

Music scanner

This is intended to be run as a scheduled job. It will scan a directory and add relevant metadata to a PostgreSQL database.

Usage

bin/scan