風聲-黑名單
- 進入 Backend 資料夾
cd Backend- docker 建置出 MySQL 環境
docker-compose up -d- 進行 DB 資料表rollback
go run ./cmd/migrate/rollback.go- 進行 DB Migration
go run ./cmd/migrate/migrate.go- 進行 DB 資料表清空與重新建置
go run ./cmd/migrate/refresh.go- 進行 DB Seeder
go run ./cmd/migrate/game_card_seeder.go- 自動產生 Swagger API 文件
swag init -g ./cmd/app/main.go -output ./cmd/app/docs- 開啟 Go Web Server
go run cmd/app/main.go-
進行第一個 Request 呼叫
-
有兩種方式可以進行 Request 呼叫,如以下所示:
-
將
The-Message.postman_collection.json檔匯入至 Postman 中,並執行 Collection 當中的 API。 -
撰寫一個 HTTP Method 為 POST 的 Request,路徑為
localhost:8080/api/v1/games,並帶入以下玩家 JSON 資料。
-
{
"players": [{
"id": "6497f6f226b40d440b9a90cc",
"name": "A"
}, {
"id": "6498112b26b40d440b9a90ce",
"name": "B"
}, {
"id": "6499df157fed0c21a4fd0425",
"name": "C"
}]
}查看 API 文件網址:
http://127.0.0.1:8080/swagger/index.html
---
title: The Message
---
classDiagram
Game "1" o-- "1..*" Player
Game "1" o-- "1" Deck
Deck "1" o-- "1" TeamCard
Deck "1" o-- "1" MissionCard
Player "1" o-- "1..*" MissionCard
Player "1" o-- "1" TeamCard
Game ..> Judiciary
class Game{
- status : boolean
- round : int
+ gameInit() : void
+ turnStart() : void
}
class Player{
- cardOnDesk : MissionCard[]
- isVictory : boolean
- isDead : boolean
+ drawMissionCard() : MissionCard[]
+ showMessageCard(card : MissionCard|null) : MissionCard|null
+ showIntelligneceCard() : MissionCard
+ getMissionCard(card : MissionCard) : boolean
}
class Deck{
+ shuffle() : Deck
}
class TeamCard{
- team : char
}
class MissionCard{
- Intelligence : char
- color : char
- message : char
}
class Judiciary{
- rule : char[]
+ getCardWeight(firstCard : MissionCard, secondCard : MissionCard) : MissionCard[]
+ getCanShowCard(heads : MissionCard[]) : MissionCard[]
}
go mod tidy go get golang.org/x/tools/cmd/goimports goimports -l -w . go get github.com/golangci/golangci-lint/cmd/golangci-lint golangci-lint run ./...