Sinatra Forum - the way it should be! (DataMapper, Haml, SASS, CoffeeScript)
Ruby JavaScript CoffeeScript
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
coffee
config
exts/auth
lib
models
public
routes
sass
spec
views
.gitignore
.travis.yml
Gemfile
Gemfile.lock
Guardfile
Procfile
Readme.md
TODO.md
config.ru
sinforum.rb

Readme.md

SinForum

simple forum build on sinatra

Build Status

Example of a Diablo III styled forum: http://bitclan.it (branch bit)

Features:

  • Very Simple and Straightforward
  • Easyly Stylable (SASS + CSS3)
  • Very fast! (sinatra with few libraries)
  • Robust (good spec coverage, important stuff covered, with RSpec)
  • DataMapper ORM
  • Markdown support
  • github icons support
  • avatars
  • private forums
  • more to come...

try it and send feedback to @makevoid

Layouts:

  • current default (default style)

  • current default (diablo3 style) [bit branch]

  • future default [default_layout branch]

made by @saver1991

full article on behance

suggestions for layout names are well accepted :)

Installation

  • download / clone the project and cd into the directory
  • create a mysql database named sinforum_development
  • extract the zip file containing the icons cd public/images/icons/; tar xfz icons.tgz

example:

mysql -u root -e "CREATE DATABASE sinforum_development;"
  • install dependencies

    bundle

  • automigrate and apply seeds (includes icon files unpacking)

    ruby config/seeds.rb

  • run rack server

example:

rackup

Development mode

note: in development mode the first user (admin) gets logged in by default to ease the development

foreman start

and you are good to go!

Testing

create database

mysql -u root -e "CREATE DATABASE sinforum_test;"

extract the zip file containing the icons (if you didn't di it already)

cd public/images/icons/; tar xfz icons.tgz

run specs

rspec

Todo

  • Email notifications on replies and button to opt-in opt/out from the topic