Skip to content

Latest commit

 

History

History
105 lines (66 loc) · 4.05 KB

README.en.md

File metadata and controls

105 lines (66 loc) · 4.05 KB

go-pttbbsweb

Go GoDoc codecov

README Translation

Overview

go implementation of middleware.

With Ptt-official-app pttbbs, go-pttbbsweb intends to be the web-based bbs.

Demo Site

Getting Started

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 /* 最大開板個數 */

Coding Convention

We use the following libraries for coding convention:

docker-compose

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 to docker/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.

Discussing / Reviewing / Questioning the code

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.

Develop

You can start developing by forking this repository.

Unit-Test

You can do unit-test with:

  • ./scripts/test.sh

You can check coverage with:

  • ./scripts/coverage.sh

Swagger

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

Schema definition

  • https://github.com/Ptt-official-app/go-pttbbsweb/tree/main/schema

Repository Naming

  • 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.