Fork 0
Local mods to remove some un-features and make it compile with a defined compiler version.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Patrick Georgi 48a65b354f
when creating user
4 years ago
localhost.local/public Improve default stylesheet. 5 years ago
mockup Moves mockups to mockup folder. 5 years ago
public Drop favicon, it's a subordinate service 4 years ago
src when creating user 4 years ago
tests Add test for case insensitive name check 5 years ago
.gitignore Improves .gitignore and removes outdated forum.json.example file. 5 years ago
.gitmodules Rearranges directories and files. 5 years ago
.travis.yml Update Jester to 0.4.0. 5 years ago
README.md Update readme with required devdb call 5 years ago
license.txt Add setup file. Fixes #139. 5 years ago
nimforum.nimble Update webdriver commit hash 5 years ago
setup.md Improves setup document. 5 years ago



NimForum is a light-weight forum implementation with many similarities to Discourse. It is implemented in the Nim programming language and uses SQLite for its database.

Examples in the wild




  • Efficient, type safe and clean single-page application developed using the Karax and Jester frameworks.
  • Utilizes SQLite making set up much easier.
  • Endlessly customizable using SASS.
  • Spam blocking via new user sandboxing with great tools for moderators.
  • reStructuredText enriched by Markdown to make formatting your posts a breeze.
  • Search powered by SQLite's full-text search.
  • Context-aware replies.
  • Last visit tracking.
  • Gravatar support.
  • And much more!


See this document.


The following lists the dependencies which you may need to install manually in order to get NimForum running, compiled*, or tested†.

  • libsass
  • SQLite
  • pcre
  • Nim (and the Nimble package manager)*
  • geckodriver
    • Firefox†

[*] Build time dependencies

[†] Test time dependencies


Check out the tasks defined by this project's nimforum.nimble file by running nimble tasks, as of writing they are:

backend              Compiles and runs the forum backend
runbackend           Runs the forum backend
frontend             Builds the necessary JS frontend (with CSS)
minify               Minifies the JS using Google's closure compiler
testdb               Creates a test DB (with admin account!)
devdb                Creates a test DB (with admin account!)
blankdb              Creates a blank DB
test                 Runs tester
fasttest             Runs tester without recompiling backend

Development typically involves running nimble devdb which sets up the database for development and testing, then nimble backend which compiles and runs the forum's backend, and nimble frontend separately to build the frontend. When making changes to the frontend it should be enough to simply run nimble frontend again to rebuild. This command will also build the SASS nimforum.scss file in the public/css directory.


Copyright (c) 2012-2018 Andreas Rumpf, Dominik Picheta.

All rights reserved.


NimForum is licensed under the MIT license.