Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/adrigardi90/video-chat
Video chat app using Vue, Vuex, WebRTC, SocketIO, Node, Redis & Docker with horizontal scaling. Multiparty and 1 to 1 video functionality, several public rooms and user status
https://github.com/adrigardi90/video-chat
docker nodejs redis socketio video-chat vuejs webrtc
Last synced: about 1 month ago
JSON representation
Video chat app using Vue, Vuex, WebRTC, SocketIO, Node, Redis & Docker with horizontal scaling. Multiparty and 1 to 1 video functionality, several public rooms and user status
- Host: GitHub
- URL: https://github.com/adrigardi90/video-chat
- Owner: adrigardi90
- Created: 2019-01-31T18:18:25.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2020-06-15T20:48:06.000Z (over 4 years ago)
- Last Synced: 2023-11-07T18:52:10.640Z (about 1 year ago)
- Topics: docker, nodejs, redis, socketio, video-chat, vuejs, webrtc
- Language: JavaScript
- Homepage: https://vue-video-chat.surge.sh/#/
- Size: 976 KB
- Stars: 283
- Watchers: 13
- Forks: 113
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# video-chat
> Chat application with **1 to 1** and **many to many** video functionality using [VueJS](https://vuejs.org), [Vuex](https://vuex.vuejs.org), [WebRTC](https://webrtc.org/start/), [SocketIO](https://socket.io),NodeJS and [Redis](https://github.com/NodeRedis/node_redis)## Quick start
First of all, you need to install and run the redis in your PC. Here there is an [article](https://medium.com/@petehouston/install-and-config-redis-on-mac-os-x-via-homebrew-eb8df9a4f298) for Mac OS X. Once Redis is up and running:```bash
# 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 out the horizontal scaling we'll create 3 different instances. Each one running a unique nodeJS process serving the FE and exposing the API
```bash
# Build the images
docker-compose -f docker-compose.yml build# Create and run the three instances
docker-compose -f docker-compose.yml up```
The webapp will be exposed on http://localhost:3000, http://localhost:3001 and http://localhost:3002, each one with a different socket connection