Coral: A backend server for Real-time Apps

Let’s talk about what is a real time app means that you have ability to show information in real time to your customer as the events happening in the order parts of system.

Few example of real time apps are

Ride hailing Apps

Food Ordering Apps

Challenges in building such Apps

You have to receive a high volume of update from the Fact entities (like order, trips etc). And as you receive those updates you have to notify the Dimension Entities (Restaurant, Driver etc). The latency requirement for these systems are in the order of milli-seconds at a very high volume.

You could have updates from multiple sources like a phone app or it could be from a backend system which is performing some action and sending you status update in kafka stream or other pub-sub mechanism.

Another challenge is that not all events need to be sent to Dimension site so you need some kind of filtering logic in the backend.

Simple use-case diagram of a coral server

We started working on coral server with all the above requirements in mind.

It uses websockets to pass the messages to one or more dimension sides in real time. All you need is to use a simple okhttp listener implementation which reads the messages on the socket.

The coral server is completely open sourced and you can see the code on github: https://github.com/catchkvs/Coral

For more details visit: https://www.k8scale.io/coral

If you are looking for a backend server for your app. Let us know, we would be happy to help you.

Simplifying writing cloud connected Apps.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store