

Sequelize (v 4.41.2): a promise-based ORM for Node.js.Redis (v4.0): in-memory data structure store, used as a database, cache and message broker.It works on every platform, browser or device, focusing equally on reliability and speed. Socket.io (v2.1.1): enables real-time, bidirectional and event-based communication.NodeJS ( v8.11.0 LTS): an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.The service should easily be customized to support different features for the different application.Service should support real-time multiplayer games.Service should support nearly all the features that all the modern chat service providers like WhatsApp, Skype, Facebook message, etc.The service should be lightweight, cost-effective which could be easily scaled up or down depending on the traffic.We wanted to store all the data on the premises for security reasons.The service should support a large amount of traffic, delivering the data in real-time with data integrity.Different applications should be supported form single deployed service.We wanted to build a service which could be easily integrated within the applications.What made us build a new Chat Service using Micro-service Architecture?

Or, we end up using the 3rd party applications that always gives a hard time in customization. On having a chat service we often end-up with a complex implementation, heavy efforts on building and testing, and thus, we put substantial efforts on the chat service which could rather be spent on the application which is using the service. The Chat feature may be either for the customer service, chat service, community chat, or pushing real-time updates, etc. In the latest trends, when it comes to building a Mobile Application or a Website we always need service to support real-time chat.
