Skip to content

An IRC client developed in react to study multi-protocol integration and scalable applications

Notifications You must be signed in to change notification settings

rengav13/portifolio-irc-chat

Repository files navigation

Introduction

An IRC client developed in react to study multi-protocol and scalable applications. The architecture consist of a web page, a server, a message broker, and a proxy to IRC servers. The server and the proxy are decoupled by a message broker developed with RabbitMQ. Besides that, there are lots of protocol through the system. The web client send requests to the server by HTTP protocol, and it receives asynchronous messages via WebSocket. The communication between the server and the proxy is made by AMQP protocol by mean of RabbitMQ. The server produce messages and store it in the queue, then the proxy consume the messages, the same occurs in the other direction. Lastly, the proxy communicate with the IRC servers by IRC protocol.

Requirements

To run this project the follow packages are required:

How to Install

Setting up the environment

  • RabbitMQ
  • Application

RabbitMQ

To be able to run the application, it's required to set up RabbitMQ.

  • At first, download the RabbitMQ and install it. Its binary file can be found here.
  • Then, add the sbin folder to the environment path.
  • Finally, run rabbitmqctl status to verify if the installation succeed.

Applcation

To install the application run the command:

     npm install

Then, to install the proxy dependencies run:

     cd amqp-irc
     npm install

Then, to execute the project run:

     npm start
     cd amqp-irc
     npm start

External libraries

References

Getting Started with npm
Installing Node.js on macOS
Installing Node.js on Windows
Install Node.js via package manager
Install rabbitMQ on Windows
Install rabbitMQ on MacOS
Install rabbitMQ on Debian

References to analyse

Complete Firebase Authentication React Tutorial

Releases

No releases published

Packages

No packages published