Skip to content

database-playground/backend-v2

Repository files navigation

Database Playground 的 Backend API

環境

您需要預備 Redis、PostgreSQL 和 Google OAuth 的憑證。

本機測試

docker run -it --rm --name dp-redis -d redis
docker run -it --rm --name dp-postgres -e POSTGRES_PASSWORD=databaseplayground -d postgres
docker run -it --name dp-sqlrunner -p 8080 ghcr.io/database-playground/sqlrunner-v2:main
REDIS_HOST=dp-redis.orb.local
REDIS_PORT=6379
DATABASE_URI=postgres://postgres:[email protected]:5432/postgres

初始化

您需要根據 環境變數設定 的說明設定必要的變數,可以將此類變數寫入 .env

接著,使用 admin-cli 來初始化資料庫欄位(不需要事先啟動 backend):

go run ./cmd/admin-cli setup

接著到前端使用「Google 登入」建立好使用者後,將這個使用者提升為管理員:

go run ./cmd/admin-cli promote-admin --email "[email protected]"

即可初始化完成。

啟動伺服器

您需要先產生一組 TLS 金鑰並在 .env 定義,請參見 組態設定說明

定義完成後,執行:

go run ./cmd/backend

會在 localhost:8080 啟動 HTTPS 的伺服器。

生產模式中需要指定 GIN_MODE=release

開發和測試

您需要安裝 Docker 才能執行測試。

go test -v ./...

如果您更動了 GraphQL 或 ent schema,也需要重新產生程式碼:

go generate ./...

Linting & Formatting:

golangci-lint run
gofumpt -w .

About

Database Playground 的第二代 Backend API

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages