Develop a simple chat app fulfiling below requirements
- group and one-on-one chats.
- same socket instance reconnection after disconnection
- switch between long polling and sockets, incase sockets are not working
- stream back lost messages when user reconnects
- scalable
Technology | Open source | Purpose |
---|---|---|
Socket.io | Yes | Building the RTA (real time application). |
Node.js | Yes | Quicky developing a scalable backend service to easily implement socket.io. |
PostgreSQL | Yes | Data source for relational data storage to perform better during heavy write ops. |
Cassandra | Yes | Highly scalable data source for misc. chat requirements like chat history. |
React.js | Yes | Building SPA (single page application) for better UX |