/chatter

A Rails server that uses websockets to create and maintain public and private chat rooms. Authentication using Devise.

Primary LanguageRuby

CHATTER

Created by Nicholas Lee

Website: http://sockets-chat.herokuapp.com

Chatter is a real-time chat room application built in Rails 4 and Ruby 2. The application communication channels are implemented through the use of WebSockets, which allow for a full-duplex single socket connection over which messages can be sent between client and server. Users are authenticated through the use of Devise and the application allows for user created public and private channels as well as other features including inline images, admin commands, emojis, and markdown support.

Gems

WebSocket-Rails: Used to create the websocket server through the use of event machine and to process all incoming and outgoing websocket connections.

FastImage: Used to find the size of an image that is not stored locally in order to dynamically generate HTML image tags.

RedCarpet: Used to parse any markdown that is posted through incoming user messages.

Gemoji: Used to provide emoji support in chat.

Devise: Used as the user authentication layer for the application.

Chat Commands

/help (Lists all possible chat commands)

/join <channel> (Creates or joins a new channel)

/leave <channel> (Leaves an existing channel)

/channels (Lists all current public channels with users)

/admin <text> (Sends the text to all channels as an Admin message)

/roll <number> (Produces a random number between 1 and give number)

Chatter Images:

Example 1

Example 2