/video-chat

Video chat app using Vue, Vuex, WebRTC, SocketIO, Node, Redis, Docker & Docker Compose with horizontal scaling. Several public rooms, 1 to 1 private conversations with video functionality and user status)

Primary LanguageVue

video-chat

Video chat application using VueJS, Vuex, WebRTC, SocketIO, NodeJS and Redis

Quick start

First of all, you need to install and run the redis in your PC. Here there is an article for Mac OS X. Once Redis is up and running:

# Clone the repo
git clone https://github.com/adrigardi90/video-chat

# Change into the repo directory
cd video-chat

# install
npm install 

# Start the FE in dev mode
npm run serve

# Start the server
npm run run:server

Then visit http://localhost:8080 in your browser

Horizontal scaling

To test the horizontal scaling we need to run two different instances. Each one will run a nodeJS process serving the FE and exposing the API

scaling

# Build the images
docker-compose -f docker-compose.yml build

# Create and run the two instances
docker-compose -f docker-compose.yml up

Then you'll find on http://localhost:3000 and http://localhost:3001 both FE applications, each one with a different socket connection