Skip to content
This repository

A mini chat app written with Sinatra

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 app
Octocat-spinner-32 config
Octocat-spinner-32 examples
Octocat-spinner-32 public
Octocat-spinner-32 spec
Octocat-spinner-32 utils
Octocat-spinner-32 .gitignore
Octocat-spinner-32 Gemfile
Octocat-spinner-32 Gemfile.lock
Octocat-spinner-32 Procfile
Octocat-spinner-32 README.md
Octocat-spinner-32 Rakefile
Octocat-spinner-32 app.rb
Octocat-spinner-32 config.ru
README.md

Chattyloo

Build Status Code Climate

Chattyloo is an asynchronous chat app written in Sinatra and persisted with Postgres or SQLite using Datamapper. There is no authentication scheme. Users arrive at the index and are redirected to a chat room with a unique URL that can be shared for others to join the room.

It makes use of Server-Sent Events (SSEs) instead of WebSockets for simplicity and because HTTP is awesome.

Besides the fact that it's very simple, the app does have a few bells and whistles. Firstly, different sounds play when chat messages are sent and received. Hearts and :)'s are automatically rotated using CSS3 transforms. Lastly, the title element displays a status message when new messages are received.

Usage

First clone the repository:

git clone git@github.com:jpsilvashy/chattyloo.git

Run the bundle command at the root of the project:

cd chattyloo/
bundle

Then you should be able to start the server:

./app.rb

Then just go to localhost:4567, and start chatting!

Deploying to Heroku

You can deploy your own chattyloo app! Here are the instructions for deploying to Heroku.

First in the root creat a new heroku app:

heroku apps:create mychatapp

Then add the addon for the shared database, this will create a Postgres database with all the proper environment variables needed to connect to it.

heroku addons:add shared-database

Now deploy the app to the server and go check it out

git push heroku master
Something went wrong with that request. Please try again.