Skip to content

This repository contains a set of Nest.js microservices organized within a mono repo structure. The microservices utilize various technologies and features, including RabbitMQ, PostgreSQL, authentication guards (AuthGuard), interceptors, decorators, GraphQL, and TypeORM. This README provides an overview of the project's structure and key components

Notifications You must be signed in to change notification settings

rixyo/Real-time-chat-app-Microservices-Graphql

Repository files navigation

Real-Time Chat App

Welcome to the Real-Time Chat App, a modern chat application built with cutting-edge technologies for real-time communication.

Features

  • 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.

Technologies Used

  • 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.

Getting Started

Prerequisites

Installation

  1. Clone the repository:

    git clone https://github.com/rixyo/Real-time-chat-app-Microservices-Graphql
    

About

This repository contains a set of Nest.js microservices organized within a mono repo structure. The microservices utilize various technologies and features, including RabbitMQ, PostgreSQL, authentication guards (AuthGuard), interceptors, decorators, GraphQL, and TypeORM. This README provides an overview of the project's structure and key components

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published