/casnode

An open-source forum (BBS) software developed by Go and React, QQ group: 555019739

Primary LanguageGoApache License 2.0Apache-2.0

📦⚡️ Casnode

An open-source forum (BBS) software developed by Go and React.

semantic-release docker pull casbin/casnode GitHub Workflow Status (branch) GitHub Release Docker Image Version (latest semver)

Go Report Card license GitHub issues GitHub stars GitHub forks Crowdin

Online demo

Deployed site: https://forum.casbin.com/

Architecture

Casnode contains 2 parts:

Name Description Language Source code
Frontend Web frontend UI for Casnode Javascript + React https://github.com/casbin/casnode/tree/master/web
Backend RESTful API backend for Casnode Golang + Beego + MySQL https://github.com/casbin/casnode

Installation

Casnode uses Casdoor to manage members. So you need to create an organization and an application for Casnode in a Casdoor instance.

Necessary configuration

Get the code

go get github.com/casbin/casnode
go get github.com/casdoor/casdoor

or

git clone https://github.com/casbin/casnode
git clone https://github.com/casdoor/casdoor

Setup database

Casnode will store its users, nodes and topics informations in a MySQL database named: casnode, will create it if not existed. The DB connection string can be specified at: https://github.com/casbin/casnode/blob/master/conf/app.conf

dataSourceName = root:123@tcp(localhost:3306)/

Casnode uses XORM to connect to DB, so all DBs supported by XORM can also be used.

Run casnode

Optional configuration

Setup your forum to enable some third-party login platform

Casnode uses Casdoor to manage members. If you want to log in with oauth, you should see casdoor oauth configuration.

OSS, Mail, and SMS services

Casnode uses Casdoor to upload files to cloud storage, send Emails and send SMSs. See Casdoor for more details.

Github corner

We added a Github icon in the upper right corner, linking to your Github repository address. You could set ShowGithubCorner to hidden it.

Configuration:

export const ShowGithubCorner = true

export const GithubRepo = "https://github.com/casbin/casnode" //your github repository