This project intends to be the go implementation of pttbbs/pttbbs.
Collaborating with Ptt-official-app middlewares. go-pttbbs intends to be web-based bbs.
You can do the following to start with docker-compose:
- copy
docker_compose.env.template
todocker_compose.env
and modify the settings. ./scripts/docker_initbbs.sh [BBSHOME] pttofficialapps/go-pttbbs:latest
docker-compose --env-file docker_compose.env -f docker-compose.yaml up -d
- register at
http://localhost:3456/register
- login at
http://localhost:3456/v1/login
telnet localhost 8888
and use the account that you registered.
go test ./...
Some config-variables are required const in ptttype, to be defined as Cstr (IDLEN, PASSLEN, etc.)
For the normal config-variables, we use config.ini as the configuration.
For the const config-variables in ptttype, We use 00-config-[dev-mode].go with +build flag
We use viper and .ini as our config-framework. 00-config.template.ini is the config-template file.
We have 3 files For every module with the config:
- 00-config.go: define the variables of the config.
- config.go: define the func of setting the variables from the config-file.
- config_util.go: helper functions. should be straightforward to follow.
We can customized ptttype/00-config-default.go with the following steps:
- Copy 00-config-production.go.template to ptttype/00-config-production.go and change the +build and variables accordingly.
cd go-pttbbs ; go build -tag [dev-mode]; cd ..
Relationship with https://github.com/PichuChen/go-bbs
PiChuChen's go-bbs was the first repo in Ptt-official-app intending to be the backend. This repository is intending to have another approach to implement the go-version of the bbs.