Skip to content
mizuamedesuPublic

About

No description, website, or topics provided.

Resources

Stars

24 stars

Watchers

0 watching

Forks

Latest commit

 

History

23 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

OpenMeet

OpenMeet is a browser-based P2P video meeting app. It runs as one Cloudflare Worker and uses HeteroNet Flow for room lifecycle, WebSocket signaling, STUN, and automatic TURN fallback.

Production: https://open-meet.mizuame.app

Architecture

  • The Cloudflare Worker serves the Vite SPA and the same-origin /api/* routes.
  • The Worker stores the HeteroCloud developer credential as a Cloudflare secret.
  • The Worker creates or reads Flow rooms, validates optional room passwords, and mints five-minute participant contexts.
  • Browsers connect directly to Flow signaling and pass Flow's ICE server list to RTCPeerConnection unchanged.
  • Media is browser-to-browser whenever ICE can establish a direct route. Flow TURN is used automatically when it cannot.
  • Chat, participant state, moderation messages, and file transfer use authenticated WebRTC data channels.

There is no Express, Socket.IO, self-hosted TURN, Docker, VM, or long-running application server.

Local development

Requirements: Node.js, npm, a HeteroCloud Flow service, and its hcf_... developer credential.

cd web
npm install
cp .dev.vars.example .dev.vars
# Set HETEROCLOUD_FLOW_CREDENTIAL in .dev.vars
npm run dev

npm run dev:web starts only Vite and therefore does not provide the room API. Use npm run dev for an end-to-end local Worker.

Checks

cd web
npm run check

Deploy

Authenticate Wrangler, register the secret once, and deploy:

cd web
wrangler login
wrangler secret put HETEROCLOUD_FLOW_CREDENTIAL
npm run deploy

The non-secret Flow endpoint configuration and static asset routing are declared in web/wrangler.jsonc.

About

No description, website, or topics provided.

Resources

Stars

24 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages