A video call app built with Cloudflare Pages and Durable Objects.
Peer to peer connection for video and audio stream is delivered over WebRTC. Peer discovery and signalling is powered by WebSockets over Durable Objects.
The diagram below explains how signalling over WebSocket happens on the frontend
Clone the repo
git clone https://github.com/megaconfidence/veet.git
Install the client dependencies and start a local dev server
cd client
npm i
npm start #available on http://localhost:8788
Install the server dependencies and start a local dev server
cd server
npm i
npm start #available on ws://localhost:8787
To deploy either the client or server, run the following the corresponding directory
npm run deploy
Once the server is deployed, update env.ws
in client/public/call/index.js
to the deployed server address.