For many years I used to store all my read books with short reviews on Goodreads. Since I do not use Goodreads anymore, I thought to make a simple web application to store and show the books that I have read. Yes, the frontend sucks, I know, but please don’t shoot the pianist (backend developer) he is doing his best. Please have a look and roast my application and/or my books:
Technical details
The app is a simple app built with Go and SQLite as a database. The frontend are HTML templates rendered with html/template from Go’s stdlib. Currently I have not set up any CI/CD. Instead, to deploy the application, I do it with a more traditional way of building the executable (cross-compile for arm64) then copy the executable along the html templates and the SQLite file to the VPS. Then, I just reload the systemd service:
build-arm:
@echo "Cross compiling for arm64..."
@GOOS=linux GOARCH=arm64 CC=aarch64-linux-gnu-gcc go build -o main cmd/api/main.go
sync: build-arm
@echo "syncing"
@rsync -av main templates prod.db hetzner-app-runner:/home/app-runner/applications/books
reload:
@echo "reloading service"
@echo $(APP_RUNNER_PASSWORD) | ssh hetzner-app-runner -t sudo -S systemctl reload books.service 2> /dev/null
Here is the link of the repo: Github