madchatter / mad_chatter

Mad Chatter is a fun, easy to customize chat server written in Ruby utilizing HTML 5 Server Sent Events
http://madchatter.github.io/
MIT License
12 stars 6 forks source link

Mad Chatter

Mad Chatter is a fun, easy to customize, group chat server. It's written in Ruby and utilizes HTML 5 Server Sent Events for fast communication.

The goal of Mad Chatter is to basically become an open-source version of Campfire, HipChat, or FlowDock...or at least use those as inspiration.

Current Status

Mad Chatter is undergoing a complete rewrite. The original application can be found here. The purpose of this rewrite is to make it easier to integrate into a Rails application and make it easier to host in common hosting environments.

It has been rewritten as a Rails Engine which can be easily mounted in an existing Rails application. That way, users of your application can participate in group chat while using the same user account as your application. However, sharing user accounts has not yet been implemented.

The original purpose of Mad Chatter was to provide a standalone, group chat server, so I plan to continue to provide a way to easily deploy Mad Chatter in this manner. However, easy integration in a Rails app is the highest priority.

Trying it out

Since Mad Chatter makes use of HTTP streaming, you will need to use an application server that supports streaming, such as Thin, Unicorn, Rainbows!, or Puma. Add the following gems to your Gemfile:

gem 'thin'
gem 'mad_chatter', github: 'madchatter/mad_chatter'

If you are using Rails 3, you will also need to add the strong_parameters gem.

Next, run these commands in your terminal:

bundle install
bundle exec rake mad_chatter:install:migrations
bundle exec rake db:migrate

Next, mount the Mad Chatter Rails Engine in your config/routes.rb:

Rails.application.routes.draw do
  mount MadChatter::RailsEngine => "/chat"
end

Now you're ready to try out Mad Chatter. Start up your application and open your browser to the path you specified when mounting the Rails Engine.

$ bundle exec rails server --port 3000
$ open http://localhost:3000/chat

Roadmap

Here is a list of some of the features that have been implemented and are in the pipeline:

Done

Todo

Want to help? Find a story to implement: Stories in Ready

Contributing

Here are some ideas of ways you can help out:

Copyright

Created by Andrew Havens and released under the MIT license.