Yet another open source forum using Golang.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
api Code Refactor: slight changes Feb 20, 2019
web Fix: Noty config Feb 18, 2019


GoDiscourse is a 100% open source, discourse-like forum written in Go. For demo, please visit

Built With

  1. Go version go1.11.4 darwin/amd64
  2. postgres (PostgreSQL) 11.1
  3. react ^16.7.0


  1. REST API back-end written in Golang
  2. React-based frontend
  3. PostgreSQL, one of the best open source, flexible database
  4. Social login (OAuth 2.0) only support Github now
  5. JSON Web Tokens (JWT) are used for user authentication in the API
  6. Markdown supported topic and comment
  7. Model tested


  1. ./api is back-end service, which is Rails like structure.
  2. ./web is front-end service, contains React, Parcel and etc.
  3. ./deploy contains example of deploy, nginx and systemd.

Getting Started

  1. cd ./api, copy config/test.cfg to config/config.go. Replace config with yours.
  2. Prepare and start database, the database schema under ./api/models/schema.sql, how to install postgresql.
  3. cd ./web and run npm install to prepare front-end.
  4. cd path/to/api && go build && ./api to start Golang server
  5. cd path/to/web && npm run dev to run front-end, and open http://localhost:1234