Welcome to the Real-Time Chat App, a modern chat application built with cutting-edge technologies for real-time communication.
- User Authentication: Secure user authentication and authorization.
- Create Communities: Users can create their own communities.
- Add Users to Communities: Admins can add users to communities.
- Community Messaging: Send and receive messages within communities.
- Direct Messaging: Users can send direct messages to each other.
- Event-Driven Architecture: Built with a microservices architecture using RabbitMQ for event handling.
- Database Per Service: Each microservice manages its own PostgreSQL database.
- Dockerized: Application components are containerized using Docker.
- Kubernetes Deployment: Deploy the app on Kubernetes for scalability and manageability.
- Real-Time Communication: Implemented real-time messaging using Socket.io.
- Nest.js: A progressive Node.js framework for building efficient and scalable server-side applications.
- GraphQL: A query language for APIs, providing a more efficient and powerful alternative to REST.
- PostgreSQL: A robust open-source relational database.
- RabbitMQ: A message broker for implementing a distributed system with a message-driven architecture.
- Docker: Containerization platform for packaging applications and their dependencies.
- Kubernetes: Container orchestration platform for automating the deployment, scaling, and management of containerized applications.
- Socket.io: Real-time, bidirectional communication between clients and the server.
- Install Node.js: Node.js Official Website
- Install Docker: Docker Official Website
- Install Kubernetes: Kubernetes Official Website
-
Clone the repository:
git clone https://github.com/rixyo/Real-time-chat-app-Microservices-Graphql