go-openbbsmiddleware
go-openbbsmiddleware copied to clipboard
PTT official app 招募說明 => 系統架構裡的 "中介應用層"
go-pttbbsweb
README Translation
概觀
這裡是使用 golang 來達成 中介應用層.
與 Ptt-official-app pttbbs 一起成為 web-based BBS.
Demo Site
Getting Started
您可以試著使用 @tingyuchang 所開發的 1-script setup
您可以到 swagger api 並且試著使用 api.
如果您在 swagger 網頁裡遇到 CORS 的問題. 你可以在網頁裡 copy curl 指令測試.
您可以到 https://term.devptt.dev 確認 api 如何影響在 www.devptt.dev 裡既有的 pttbbs.
使用的測試資料 (/home/bbs, 從 OCF PttID Data 更改而來) 在這裡. 當使用測試資料時, 請在 pttbbs.conf 做以下的設定:
MAX_USERS = 200000 /* 最高註冊人數 */
MAX_BOARD = 8192 /* 最大開板個數 */
Coding Convention
我們使用以下 library 幫助 coding convention:
docker-compose
您可以使用以下方式來使用 docker-compose:
- 將
docs/etc/copy 到你自訂的 etc directory (ex:/etc/go-pttbbsweb). - 將
docs/config/01-config.docker.inicopy 到你自訂的 etc directory 為 production.ini (ex:cp 01-config.docker.ini /etc/go-pttbbsweb/production.ini). - 將
docker/docker/docker_compose.env.templatecopy 到docker/docker_compose.env並且更改相對應的設定. ./scripts/docker_initbbs.sh [BBSHOME] pttofficialapps/go-pttbbs:latestdocker-compose --env-file docker/docker_compose.env -f docker/docker-compose.yaml up -d- 在
http://localhost:3457/account/register做 register - 在
http://localhost:3457/account/login做 login telnet localhost 8888並且使用您剛剛登錄的帳號使用.- 第一次使用時. 須先將 SYSOP 和 guest 建立起來.
Discussing / Reviewing / Questioning the code
除了開 issues 以外, 您還可以做以下的事情來對於 code 做討論 / review / 提出問題.
git clone這個 repo.- 開一個 review-[topic] 的 branch.
- 對於想要討論的部分在 code 裡寫 comments.
- pull-request
- 對於 PR 進行討論.
- 當 PR 關掉時, comments 會留下關於這個 pr 討論的 link.
Develop
您可以使用 fork 來一起開發.
Unit-Test
你可以做以下的事情來進行 unit-test:
./scripts/test.sh
您可以做以下的事情來進行 coverage-check:
./scripts/coverage.sh
Swagger
You can run swagger with:
- 設定 python virtualenv.
cd apidoc; pip install . && pip uninstall apidoc -y && python setup.py develop; cd .../scripts/swagger.sh [host]- go to
http://localhost:5000
Schema definition
https://github.com/Ptt-official-app/go-pttbbsweb/tree/main/schema