Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

You know, a forum. In nodejs.

branch: master

Fetching latest commit…


Cannot retrieve the latest commit at this time

Octocat-spinner-32 couchdb only allow "forum" and admins to do stuff December 30, 2011
Octocat-spinner-32 node_modules don't symlink vacuum December 30, 2011
Octocat-spinner-32 static insert smileys December 31, 2011
Octocat-spinner-32 templates put source link at the bottom January 04, 2012
Octocat-spinner-32 .gitmodules add ace as submodule December 26, 2011
Octocat-spinner-32 LICENSE add MIT license January 02, 2012
Octocat-spinner-32 +readme with install instructions December 30, 2011
Octocat-spinner-32 config.json add debug output with username, method and URL December 25, 2011
Octocat-spinner-32 functions.js allow blockquote December 31, 2011
Octocat-spinner-32 index.js add "/debug" URL December 31, 2011
Octocat-spinner-32 package.json add "marked" module December 25, 2011
Octocat-spinner-32 post.js add /newtopic/<path> December 26, 2011
Octocat-spinner-32 user.js v0.4-style config inclusion December 30, 2011
Octocat-spinner-32 views.js superforum indexes December 30, 2011

This is a forum written in nodejs. It doesn't have all features you'd expect from a good forum yet - for example, there currently is no concept of a moderator, you have to directly go into the database. Also, although there are fields for it in the DB, you can't edit posts yet.

But in case you want to try it out anyway, here are some instructions on how to get it running.

What you need:

  • a couchdb
  • a server for the forum

So, first thing, setting up the database. Login as couchdb admin and create a new database for the forum. Then push the design document:

sudo npm install -g couchapp
couchapp push couchdb/app.js http://admin:password@databasehost:5984/dbname

There's a hardcoded username that is allowed to alter the database, forum - create it.

Now go into the database again and create two documents for the forums:

{"id":"superforum:", "title": "masterforum"}
{"id":"superforum:test", "title": "testing stuff"}
{"id":"forum:test/node", "title": "testing, topic: node"}

Superforums contain forums and superforums, forums contain posts.

Now adjust the settings in config.json. Important: The host field looks like forum:password@host.

Finally, start index.js. It should work now.

Something went wrong with that request. Please try again.