Git Product home page Git Product logo

rboard's Introduction

rBoard

rBoard is a kick-ass forum system built in Ruby on Rails. One of it's primary goals is being able to set it up quickly and easily, and still have it blow your mind with an awesome and stable feature set. It's now one year old as of March 10th, 2009.

If you're looking to integrate it into a site, please read the Integration section below.

How to get it up and running

In order to start using rBoard you should only have to clone the repository, and run rake install:

git clone git://github.com/radar/rboard.git rBoard
cd rBoard

Then create a config/database.yml file for your database.

Then simply run:

rake install # DO NOT FORGET THIS STEP

Requirements

This app requires Sphinx which can be obtained from the Sphinx website. Sphinx works with both MySQL and PostgreSQL.

Alternatively, you could just comment out or remove the define_index block in the post model.

Sphinx Installation

  1. download Sphinx
  2. extract it
  3. run ./configure && make && sudo make install
  4. cd to rBoard app folder
  5. run rake ts:config && rake ts:in && rake ts:start. This should start up the thinking sphinx daemon.

Features

rboard has the following awesome things:

  • Categories (can be ordered)
  • Forums (can be ordered)
    • List topics with subject, author, replies, views and last post information
    • Can be restricted to certain user levels (visible to and topics created by)
    • Sub forums (infinitely. No, really. Try it.)
    • RSS Feeds
  • Topics
    • Locking
    • Sticky-ifying
    • Splitting
    • Merging
    • Subscriptable
    • Moveable
    • Editable
    • Deletable
    • Paginated (will_paginate)
    • RSS Feeds
  • Posts
    • Reply
    • Quote
    • Editable (it tracks these too!)
    • Deletable
    • Quick Reply
    • Code Highlighting (syntax gem)
    • Paginated (will_paginate)
  • Users
    • IP Tracking
    • Signatures
    • Member Lists
    • User Levels (Anonymous, User, Moderator & Administrator)
    • IP Banning
  • Ranks
    • Post dependent or custom
  • Themes
    • Upload your new theme directory into public/themes and go!
  • Private Messaging
  • Tracks read topics on a per-user basis
  • Searching (courtesy of ThinkingSphinx)

Puppies, Kittens, Rainbows and Unicorns sold separately.

OAQ (Occasionally Asked Questions)

  1. Why?
Why not? I use forum systems every day and I figured the best way to learn more about Rails was to build one in it. rBoard's evolved into much, much more now and is my favourite project to work on.
  1. Who?
One developer, so far. My name's Radar, but sometimes people call me Ryan or "dickhead". I wrote all of the code you see before you today.
  1. What?
This is rBoard, a forum system built in Rails.
  1. How?
To install it, type `rake install` and this should do all the magic for you.
  1. When (is it stable)?
The `master` branch is usually kept in a stable manner whilst I tinker in my own personal branch, usually called `radar`.
  1. OMG it is broken -- why!?!?
If you have any problems, you can contact me [through GitHub](http://github.com/inbox/new/radar) or by [emailing me](mailto:[email protected])
  1. I love you.
You can send money to `[email protected]` and I may love you back.

Integration

rBoard works as a stand-alone solution as well as a drop-in solution for your site's forum needs. All the user model specific code has been moved to a module to ensure that this process is made easier. You have two options:

  1. Use the pre-existing user model (integrate your site into rBoard).

  2. Use your own user model (integrate rBoard into your site). In user model you just have to write include Rboard::UserExtension. The relevant authentication system code has also been modularized into lib/rboard/auth.rb and must be included into the ApplicationController of your site like this: include Rboard::Auth. Please be aware that this module will override any current_user or logged_in? methods you have defined anywhere else.

If you wish to use a different authentication system other than Restful Authentication then remove the user model (app/models/user.rb) and replace it with your own whilst not forgetting to include Rboard::UserExtension, the AuthenticatedSystem module (lib/authenticated_system.rb) and the AuthenticatedTestHelper module (lib/authenticated_test_helper.rb)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.