{"id":17924315,"url":"https://github.com/megaconfidence/veet","last_synced_at":"2025-03-24T02:33:38.808Z","repository":{"id":246528012,"uuid":"813610157","full_name":"megaconfidence/veet","owner":"megaconfidence","description":"A video call app","archived":false,"fork":false,"pushed_at":"2024-09-23T12:43:45.000Z","size":292,"stargazers_count":52,"open_issues_count":0,"forks_count":16,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-19T02:38:52.997Z","etag":null,"topics":["cloudflare-pages","durable-objects"],"latest_commit_sha":null,"homepage":"https://veet.pages.dev/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/megaconfidence.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-11T12:02:43.000Z","updated_at":"2025-03-14T16:19:39.000Z","dependencies_parsed_at":"2024-06-28T14:07:03.753Z","dependency_job_id":"151f4c1e-cb5d-4519-916a-b4ece1e8c2b0","html_url":"https://github.com/megaconfidence/veet","commit_stats":null,"previous_names":["megaconfidence/veet"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/megaconfidence%2Fveet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/megaconfidence%2Fveet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/megaconfidence%2Fveet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/megaconfidence%2Fveet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/megaconfidence","download_url":"https://codeload.github.com/megaconfidence/veet/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245199074,"owners_count":20576485,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloudflare-pages","durable-objects"],"created_at":"2024-10-28T20:48:16.749Z","updated_at":"2025-03-24T02:33:38.443Z","avatar_url":"https://github.com/megaconfidence.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Veet\n\nA video call app built with [Cloudflare Pages](https://developers.cloudflare.com/pages/) and [Durable Objects](https://developers.cloudflare.com/durable-objects/).\n\n## Video tutorials \n\n- [Build a Video Call App with Durable Objects](https://www.youtube.com/playlist?list=PLzfTyn6__SjgC2ty1_BAl0RGgr2jKjngz)\n\n## How It Works\n\n![Architecture](./images/arch.jpg)\nPeer to peer connection for video and audio stream is delivered over [WebRTC](https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API). Peer discovery and signalling is powered by [WebSockets](https://developer.mozilla.org/en-US/docs/Web/API/WebSocket) over [Durable Objects](https://developers.cloudflare.com/durable-objects/api/websockets/).\n\nThe diagram below explains how signalling over WebSocket happens on the frontend\n![Signalling](./images/timing.png)\n\n# Local Setup\nClone the repo\n```sh\ngit clone https://github.com/megaconfidence/veet.git\n```\nInstall the client dependencies and start a local dev server\n```sh\ncd client\nnpm i\nnpm start #available on http://localhost:8788\n```\nInstall the server dependencies and start a local dev server\n```sh\ncd server\nnpm i\nnpm start #available on ws://localhost:8787\n```\nTo deploy either the client or server, run the following the corresponding directory\n```sh\nnpm run deploy\n```\nOnce the server is deployed, update `env.ws` in [`client/public/call/index.js`](https://github.com/megaconfidence/veet/blob/bb50f00158571b8ab2fa755f8e33476941ee393d/client/public/call/index.js#L12) to the deployed server address.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmegaconfidence%2Fveet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmegaconfidence%2Fveet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmegaconfidence%2Fveet/lists"}