The vast majority of messageboard, or "forum", software out there is garbage. Either it's old, bloated or boring. Thredded is an effort to be a modern take on the forum/messageboard space with a modern stack, using modern methodologies - ruby, rails, pg, test-driven.
If you're looking for variations on a theme - see Discourse, Forem, Tectura or Heterotic Beast. The last two are forks from Rick Olsen and Courtenay's Altered Beast. Of those it should be noted that Forem is an engine - not a standalone app.
Check out thredded.com for a live demo or check out a few screenshots.
If you just want to know how to install - please head to the Installation instructions. Details on getting things running on Heroku are included.
- Ruby 2.0. This will work with 1.9.3 but the Gemfile will have to be updated by you to accommodate that.
- Postgres. Search currently only works with pg, using pg's fulltext search capabilities.
- SendGrid. For incoming email thredded has built-in support for the SendGrid parse api using griddler.
- Resque. Emails will be queued thanks to the
resque_mailer
gem if you add the thredded_resque gem to thredded's Gemfile.
Stricken text must still be implemented.
- Security per messageboard - private, public or logged in users only
- Permissions to post - anonymous, members or logged in users only
- Attaching images to posts
- Attaching documents to posts
- Content Filters - bbcode, markdown
- Locking topics
- Sticky / Pinned topics
- Private topics
- Placement of attached images to posts
- Logging in via github
twitter, facebook, linked in, and Gmail - Full-text search
The following are the ENV's that need to be set for deployment.
ENV['GOOGLE_ANALYTICS_ID']
- eg: 'UA-#######-1'ENV['GITHUB_ID']
- for authentication via github, using omniauth, you'll need an app set up. Place the ID here...ENV['GITHUB_SECRET']
- ... and the secret.ENV['SECRET_TOKEN']
- the application secret token needs to be generated for environments other than test and development. See./config/initializers/secret_token.rb
ENV['CANONICAL_HOST']
- if set this will use rack-canonical-host to redirect requests to one canonical host
Everyone loves pull requests. Here are some guidelines:
- Fork the repo.
- Run the tests. Only pull requests with passing tests will be accepted, and it's great
to know that you have a clean slate:
bundle && rake
- Add a test for your change. Only refactoring and documentation changes require no new tests. If you are adding functionality or fixing a bug, it needs a test!
- Make the test pass.
- I prefer that code adheres to the thoughtbot Style Guide so take a look there, or know that I might refer to it in PR's. :)
- Push to your fork and submit a pull request.
- Shaun @thedudewiththething
- Jim @saturnflyer
- Caleb @calebthompson
- Gabe @gabrielpreston
- Christian @christianmadden
- Jacob @jacobbednarz
- Jeffrey @semanticart
- Nick @qrush
- The entire MI, JA, LGN and MWA crews (thank you all)