Go to file
Daniel Mason e570314ac2
0.0.9
- Fix mobile menu auto collapse on select
- Add /u/ route for public user profiles (Added private flag to db - to implement later)
- Add /user route for your own profile / edit profile
- Added handling for if API is offline/incorrect
- Add index.html loading spinner while react bundle downloads
- Change HashRouter to BrowserRouter
- Added sources column to scrobbles
2021-04-01 23:17:46 +13:00
cmd/go-scrobble - Login flow working.. 2021-03-29 20:58:43 +13:00
docs 0.0.9 2021-04-01 23:17:46 +13:00
init Basic API structure 2021-03-25 18:15:01 +13:00
internal/goscrobble 0.0.9 2021-04-01 23:17:46 +13:00
migrations 0.0.9 2021-04-01 23:17:46 +13:00
web 0.0.9 2021-04-01 23:17:46 +13:00
.env.example - Login flow working.. 2021-03-29 20:58:43 +13:00
.gitignore - Login flow working.. 2021-03-29 20:58:43 +13:00
.gitlab-ci.yml 0.0.9 2021-04-01 23:17:46 +13:00
go.mod - Login flow working.. 2021-03-29 20:58:43 +13:00
go.sum - Login flow working.. 2021-03-29 20:58:43 +13:00
LICENSE Initial commit 2021-03-23 19:07:39 +13:00
README.md 0.0.3 2021-03-30 16:09:48 +13:00

go-scrobble

Golang based music scrobbler.

Stack: Go 1.16+, Node 15+, React 17+, MySQL 8.0+, Redis

There are prebuilt binaries/packages available.

Copy .env.example to .env and set variables. You can use https://www.grc.com/passwords.htm to generate a JWT_SECRET.

More documentation

Changelog

Environment Variables

Setup MySQL

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

Local Development

cp .env.example .env # Fill in the blanks
go mod tidy
CGO_ENABLED=0 go run cmd/go-scrobble/*.go
# In another terminal cp web/.env.example web/.env.development and set vars
cd web && npm install && npm start --env development

Access dev frontend @ http://127.0.0.1:3000 + API @ http://127.0.0.1:42069/api/v1

Prod deployment

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

cp .env.example .env # Fill in the blanks
cp web/.env.example web/.env.production
cd web npm install --production && npm run build --env production
go build -o goscrobble cmd/go-scrobble/*.go
./goscrobble

Support Development!

Feel free to support hosting and my coffee addiction https://liberapay.com/idanoo