diff --git a/.gitignore b/.gitignore index 8f9be7b..bdbfff8 100644 --- a/.gitignore +++ b/.gitignore @@ -7,8 +7,12 @@ bin database.txt +plantuml.jar db.sqlite3 -*.png +diagram.puml +backend/*.png +backend/*.jpg +backend/*.svg # Test binary, built with `go test -c` *.test diff --git a/README.md b/README.md index d75861a..e7b2dfe 100644 --- a/README.md +++ b/README.md @@ -62,6 +62,21 @@ You should consult the [WSL documentation](https://docs.microsoft.com/en-us/wind wsl --install -d Ubuntu-22.04 # To get a somewhat recent version of Go ``` +After this, you can open a (wsl) terminal and run the commands: + +```bash +sudo apt update && sudo apt upgrade +sudo apt install -y make podman + +sudo add-apt-repository ppa:longsleep/golang-backports +sudo apt update +sudo apt install golang-go + +# For a recent version of node: +curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash +nvm install node +``` + If you get any errors related to virtualization, you will need to enable virtualization in the BIOS. This is a common issue, and you can find a guide for your specific motherboard online. This is a one-time operation and will not affect your windows installation. This setting is usually called "VT-x" or "AMD-V" and is usually found in the CPU settings. If you can't find it, shoot me a message and I'll find it for you. If you're **still dead set** on using a vanilla Windows environment, you will need the following: diff --git a/backend/Makefile b/backend/Makefile index 2547900..9cfa335 100644 --- a/backend/Makefile +++ b/backend/Makefile @@ -27,6 +27,10 @@ clean: $(GOCLEAN) rm -rf bin rm -f db.sqlite3 + rm -f diagram* + rm -f plantuml.jar + rm -f erd.png + rm -f config.toml # Test target test: db.sqlite3 @@ -98,6 +102,18 @@ install-lint: @echo "Installing golangci-lint" @curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(shell go env GOPATH)/bin v1.42.1 +# Fetches the latest plantuml.jar and checks its SHA256 hash +plantuml.jar: + curl -sSfL https://github.com/plantuml/plantuml/releases/download/v1.2024.3/plantuml.jar -o plantuml.jar \ + && echo "519a4a7284c6a0357c369e4bb0caf72c4bfbbde851b8c6d6bbdb7af3c01fc82f plantuml.jar" | sha256sum -c + +# Generate UML diagrams diagral.png & diagram.svg +.PHONY: uml +uml: plantuml.jar + goplantuml -recursive . > diagram.puml + java -jar plantuml.jar -tpng diagram.puml + java -jar plantuml.jar -tsvg diagram.puml + # Convenience target to install just (requires sudo privileges) install-just: @echo "Installing just"