go implementation of middleware.
With Ptt-official-app pttbbs, go-pttbbsweb intends to be the web-based bbs.
You can try the 1-script setup by @tingyuchang
You can start with the swagger api and try the api.
You can copy the curl command from the link if you encounter CORS issue.
You can go to https://term.devptt.dev and check how the api affects the existing pttbbs in www.devptt.dev.
The test data (/home/bbs, adopted from OCF PttID Data) can be accessed here. Please setup the following config in pttbbs.conf to use the test data:
MAX_USERS = 200000 /* 最高註冊人數 */
MAX_BOARD = 8192 /* 最大開板個數 */
We use the following libraries for coding convention:
You can do the following to start with docker-compose:
- copy
docs/etc/
to some etc directory (ex:/etc/go-pttbbsweb
). - copy
docs/config/01-config.docker.ini
to the etc directory as production.ini (ex:cp 01-config.docker.ini /etc/go-pttbbsweb/production.ini
). - copy
docker/docker_compose.env.template
todocker/docker_compose.env
and modify the settings. ./scripts/docker_initbbs.sh [BBSHOME] pttofficialapps/go-pttbbs:latest
docker-compose --env-file docker/docker_compose.env -f docker/docker-compose.yaml up -d
- register at
http://localhost:3457/account/register
- login at
http://localhost:3457/account/login
telnet localhost 8888
and use the account that you registered.- register SYSOP and guest.
Besides creating issues, you can do the following to discuss / review / question the code:
git clone
the repo- create a review-[topic] branch
- commenting at the specific code-region.
- pull-request
- start discussion.
- close the pr with comments with only the link of the pr in the code-base.
You can start developing by forking this repository.
You can do unit-test with:
./scripts/test.sh
You can check coverage with:
./scripts/coverage.sh
You can run swagger with:
- setup python virtualenv.
cd apidoc; pip install . && pip uninstall apidoc -y && python setup.py develop; cd ..
./scripts/swagger.sh [host]
- go to
http://localhost:5000
https://github.com/Ptt-official-app/go-pttbbsweb/tree/main/schema
- 2024-06-26: This repo is mainly based on pttbbs. We rename the repo as go-pttbbsweb.
- 2022-12-16: The reason why this repo is called go-openbbsmiddleware is because previously the .NET ASP developers envisioned that the scope of this middleware can include other versions of bbs (Maple/中山之島). The naming of this repo followed the naming convention at that time.