Chattyloo is an asynchronous chat app written in Sinatra and persisted with Postgres or SQLite using Datamapper.
There is no authentication, 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.
Look, I know the name is stupid. There just aren't a lot of great domain names available containing the word "chat", so I'm stuck with this one!
The application makes use of Server-Sent Events (SSEs) instead of WebSockets for simplicity, but also gains a few really cool features because of that. Go have a look at the source code! The app is entirely open-source, please help improve it.
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.
First clone the repository:
git clone firstname.lastname@example.org:jpsilvashy/chattyloo.git
bundle command at the root of the project:
cd chattyloo/ bundle
Then you should be able to start the server:
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