Ptt-official-app / go-pttbbs

golang 版本 的 pttbbs (https://github.com/ptt/pttbbs)
https://doc-pttbbs.devptt.dev
GNU General Public License v3.0
29 stars 15 forks source link

go-pttbbs

GoDoc codecov

README Translation

概觀

這是使用 go 實作的 ptt/pttbbs

Ptt-official-app middleware 一起成為 web-based BBS.

開始

您可以從 swagger api 查看 api 文件.

Coding Convention

Docker-Compose

您可以利用 docker-compose 開始:

起始 BBSHOME

您可以使用以下方式起始 BBSHOME:

使用 Docker 增加使用者.

您可以使用以下方式增加使用者:

測試

./scripts/test.sh

Coverage

./scripts/coverage.sh

執行 run.sh

您可以使用以下方式執行 ./scripts/run.sh

在 Docker 裡執行

您可以使用以下方式在 Docker 裡執行:

設定

有些 config-variables 是在 ptttype 裡必要的常數 (IDLEN, PASSLEN, etc.)

對於一般的 config-variables, 我們在 config.ini 裡設定.

對於 ptttype 裡常數的 config-variables, 我們使用 00-config-[dev-mode].go 和 +build flag.

00-config.ini

我們使用 viper 和 .ini 作為我們的 config-framework. 00-config.template.ini 是 config-template file.

對於每個 module, 我們有以下 3 個 source files 來完成 config:

  1. 00-config.go: 定義 config 的 variables.
  2. config.go: 定義設定 variables 的 func.
  3. config_util.go: 輔助 functions.

00-config-[dev-mode].go

我們可以使用以下方式更改 ptttype/00-config-default.go:

  1. 複製 00-config-production.go.template 到 ptttype/00-config-[dev-mode].go 並且更改 +build 和 variables.
  2. go build -tag [dev-mode]

Swagger.sh

我們根據 flask-swagger 設定 swagger. flask-swagger 是一個 python-project.

您可以使用以下方式設定 swagger-api:

  1. 設定 python virtualenv.
  2. cd apidoc; pip install . && pip uninstall apidoc -y && python setup.py develop; cd ..
  3. ./scripts/swagger.sh
  4. 使用 browser 觀看 http://localhost:8080.