Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Simple forums software, in Go
Go HTML CSS Python Shell JavaScript Nginx
Branch: master
Failed to load latest commit information.
forums read forum configs
img move code from go directory to top level
scripts convert to gdep
static move code from go directory to top level
tmpl on topic page, make title to be the subject of the topic, not just th…
.gitignore update .gitignore
Godeps update dependencies
all_test.go move code from go directory to top level
fabfile.py move code from go directory to top level
handle_forum.go update dependencies
handle_login.go move code from go directory to top level
handle_newpost.go move code from go directory to top level
handle_postsby.go move code from go directory to top level
handle_rss.go move code from go directory to top level
handle_topic.go move code from go directory to top level
handlers.go replace http404 as it's just a wrapper around http.NotFound
log.go move code from go directory to top level
main.go read forum configs
readme.md document things some more
s3backup.go move code from go directory to top level
sample_config.json document things some more
store.go don't panic if post double-deleted
templates.go move code from go directory to top level
util.go replace http404 as it's just a wrapper around http.NotFound

readme.md

Overview

For more info: http://blog.kowalczyk.info/software/fofou/

Fofou (Forums For You) is a simple forum software inspired by Joel On Software forum software (http://discuss.joelonsoftware.com/?joel).

It's mostly a port of FruitShow PHP forum (http://sourceforge.net/projects/fruitshow).

This is a version written in Go. There's also a version in Python for App Engine: https://github.com/kjk/fofou_appengine

Where can I see it in action?

Forums for my Sumatra PDF reader are powered by Fofou: http://forums.fofou.org/sumatrapdf/

Installation

You probably want to run it on a server (I use Ubuntu) but when testing you can run it on Mac.

You need to create config.json (see sample_config.json for example).

Since login system uses Twitter OAuth, you need to get token and secret from https://dev.twitter.com/ and set AdminTwitterUser to your Twitter handle (this is the user who is the admin of the forum).

To ensure encryption of cookies, you need to set random CookieAuthKeyHexStr and CookieEncrKeyHexStr. The easies way is to leave them blank and new random values will be printed to stdout.

Look at scripts/run.sh to see how to compile and run the forum.

Deployment

When you want to run the code in production, you probably want to deploy it to a server.

You can take a look at fabfile.py (Fabric deployment script) for an example on how to do automate deployments.

Design philosophy

You'll quickly see that Fofou differs in many ways from most common forum software. There are good reasons for the differences and Joel Spolsky describes those reason in great detail: http://www.joelonsoftware.com/articles/BuildingCommunitieswithSo.html

License

The Go code is written completely by me and is in Public Domain.

Html/css/js files are mostly lifted from FuitShow, so they fall under FruitShow's BSD license.

Something went wrong with that request. Please try again.