https://github.com/ryanrolds/club
Web RTC video conferencing service.
https://github.com/ryanrolds/club
golang ice-server react signaling-server videos web-audio-api web-rtc webaudioapi webrtc
Last synced: 25 days ago
JSON representation
Web RTC video conferencing service.
- Host: GitHub
- URL: https://github.com/ryanrolds/club
- Owner: ryanrolds
- License: mit
- Created: 2020-05-13T03:59:32.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-01-05T20:21:20.000Z (over 3 years ago)
- Last Synced: 2024-06-21T02:14:28.767Z (almost 2 years ago)
- Topics: golang, ice-server, react, signaling-server, videos, web-audio-api, web-rtc, webaudioapi, webrtc
- Language: JavaScript
- Homepage:
- Size: 20 MB
- Stars: 12
- Watchers: 7
- Forks: 2
- Open Issues: 36
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Club

WebRTC video chat application written in JS and Go.
## Todos
* [DONE] Propagate "leaves" and update client to remove peers/videos that left
* See if there are audio options that can be implemented - https://github.com/ryanrolds/club/issues/10
* Create grid UI using Material UI - https://github.com/ryanrolds/club/issues/1
* Add mute buttons for self and other users
* Add video off button for self
* Add leave button and join button
* Implement multiple rooms
* Implement join password for rooms
* Decide if we should switch WebSocket and server interactions to channels
* Create UI for providing room ID and password (if passworded room)
* Get ICE Server(s) from env var
* Get ICE Servers (STUN/TURN) from successful join response (don't store in client)
## Setup
Requires Go 1.14+ and Node 12+.
```
make install
```
## Running
Each service can be started seperately with `make run` in the `frontend` and `golang` directories. Otherwise, from the root both services can be started using Docker Compose:
```
make run
```
For extra debugging information use `make run-debug` in the service's directory.
Open http://localhost:3000 for React Client and http://localhost:3001 for the signaling server and examples.