This application demonstrates a scalable chat system built to familiarize myself with an event-driven architecture. It uses a Pub/Sub mechanism to coordinate and scale socket servers, ensuring messages are synchronized across multiple servers. A message queue processes and saves chat messages to the database, enabling reliable and asynchronous data handling.
- Express.js
- Socket.IO
- Redis
- Kafka
- Prisma
- Postgres
- Docker
- Lerna package manager