Go to file
2021-03-24 17:24:53 +13:00
cmd/go-scrobble Build basic frontend 2021-03-24 16:29:35 +13:00
init Initial Commit 2021-03-23 21:43:44 +13:00
internal/goscrobble Update path 2021-03-24 17:24:53 +13:00
migrations Initial Commit 2021-03-23 21:43:44 +13:00
test Initial Commit 2021-03-23 21:43:44 +13:00
web Update test page 2021-03-24 17:19:18 +13:00
.gitignore Initial commit 2021-03-23 19:07:39 +13:00
go.mod Initial Commit 2021-03-23 21:43:44 +13:00
go.sum Initial Commit 2021-03-23 21:43:44 +13:00
LICENSE Initial commit 2021-03-23 19:07:39 +13:00
README.md Update test page 2021-03-24 17:19:18 +13:00

go-scrobble

Golang based music scrobbler. MySQL backend.

Currently building on Node V15.X & Go V1.16.X

Setup MySQL

create user 'goscrobble'@'%' identified by 'supersecurepass';
create database goscrobble;
grant all privileges on goscrobble.* to 'goscrobble'@'%';

Local build/run

cd web && npm install && npm start
# In another terminal
go mod tidy
CGO_ENABLED=0 MYSQL_HOST=127.0.0.1 MYSQL_USER=goscrobble MYSQL_PASS=supersecurepass MYSQL_DB=goscrobble go run cmd/go-scrobble/*.go

Access test frontend through http://127.0.0.1:3000 API http://127.0.0.1:42069/api/v1

Run local tests

go test test/*

Prod deployment

We need to build NPM package, and then ship web/build with the binary.

cd web npm install --production && npm run build
go build -o goscrobble cmd/go-scrobble/*.go
MYSQL_HOST=127.0.0.1 MYSQL_USER=goscrobble MYSQL_PASS=supersecurepass MYSQL_DB=goscrobble ./goscrobble