Inspiration

Build a real time chat application leveraging Redis as the database would make things a lot faster than using traditional databases, as Redis relies on an in memory store making it much faster than other popular databases like Postgresql, MySql, Mongodb etc which rely on hard disk for storage.

What it does

The app is a public Chat room or message board where all rooms are open to public and the users get live updates when any thing is posted in any of the channels.

How we built it

First we started off by looking into Redis, we had some idea about it, its a key value database engine that uses Memory instead of Hard Drive for storage making it one of the fastest datastores available but is typically used for caching or message broker. After that we decided to use Rails as backend API and ReactJS on front end but half way though we switched to leveraging Stimulus Reflex and Cable ready on front end with regular HTML, CSS and some vanilla javascript to save on time and complexity.

Challenges we ran into

The biggest technical issue was to use Redis as a data layer and integrate it with rest of the platform. We wrote a very simple ORM adapter for that so we can use Redis much like many other SQL or NoSQL databases and integrate it nicely with the rest of the stack layers. Other than that we wanted to use ReactJS as front end but due to the time constraints we had to switch to other technologies to speed up development time.

Accomplishments that we're proud of

Writing an integration for Redis so it works seamlessly with the other layers on backend. Making a functional realtime chat system in the time given.

What we learned

A lot about Redis, cable ready, ReactJS, Stimulus and Stimulus Reflex.

What's next for RediSation

Time will tell.

Share this project:

Updates