Peer to peer browser video calling platform with unmatched video quality and latency.
Go to file
Rachel Ruderman 502365aede Update README.md 2020-07-03 01:26:13 -07:00
.github fix paypal link 2020-04-18 16:35:23 -04:00
public Replace all footers 2020-07-03 01:24:33 -07:00
src/Footer Comment out links w/o href 2020-07-03 01:06:43 -07:00
.env.template Update .env.template 2020-07-03 01:18:56 -07:00
.gitattributes Create .gitattributes 2020-04-06 10:32:22 -04:00
.gitignore Update .gitignore 2020-07-03 01:07:44 -07:00
LICENSE Update LICENSE 2020-04-12 02:09:04 -04:00
README.md Update README.md 2020-07-03 01:26:13 -07:00
package-lock.json Add Medium Post 2020-07-03 00:13:31 -07:00
package.json Add Medium Post 2020-07-03 00:13:31 -07:00
server.js Basic redirection of unsupported browsers, rewording on landing + readme 2020-04-13 01:11:17 -04:00

README.md

Zipcall - Decentralized Video Chat

Author License: CC-NC Donate Repo Link code style: prettier Join the chat at https://gitter.im/zipcall

https://zipcall.io

Decentralized video chat platform powered by WebRTC using Twilio STUN/TURN infrastructure. Zipcall provides video quality and latency simply not available with traditional technology.

screenshot

Features

  • Screen sharing
  • Picture in picture
  • Live captions
  • Text chat
  • Auto-scaling video quality
  • No download required, entirely browser based
  • Direct peer to peer connection ensures lowest latency
  • Single use disposable chat rooms

Quick start

  • You will need to have Node.js installed, this project has been tested with Node version 10.X and 12.X
  • Clone this repo
git clone https://github.com/ianramzy/decentralized-video-chat
cd decentralized-video-chat

Set up credentials

  • Rename .env.template to .env
  • Sign up for free twilio account https://www.twilio.com/login
  • Get your Account SID and Auth Token from the Twillio console
  • Fill in your credentials in the .env file

Install dependencies

npm install

Start the server

npm start
  • Open localhost:3000 in browser
  • If you want to use a client on another computer/network, make sure you publish your server on an HTTPS connection. You can use a service like ngrok for that.

Developing in React

React is gradually being introduced to the frontend.

Example - How to develop the <Footer/> React component:

  • In notsupported.html, change "production.min.js" to "development.js". This will give you unminified React warnings / errors.
  • In the terminal, run npx babel --watch src --out-dir ./public/react --presets react-app/prod. This will compile your React code in the src directory to vanilla JavaScript in the public/react directory
  • Open src/Footer/index and make a change. Note the compiled file also updates.
  • To see your change, start the server and navigate to localhost:3000/notsupported. Note: Hot reloading is not currently enabled.

Contributing

Pull Requests are welcome!

Please run prettier on all of your PRs before submitting, this can be done with prettier --write in the project directory

For communication we use Gitter Chat which can be found here: Join the chat at https://gitter.im/zipcall