Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/maneeshwije/watch-together
a real time video player for multiple connected clients
https://github.com/maneeshwije/watch-together
go gorilla-websocket handlebars htmx video-player websocket
Last synced: 10 days ago
JSON representation
a real time video player for multiple connected clients
- Host: GitHub
- URL: https://github.com/maneeshwije/watch-together
- Owner: ManeeshWije
- License: mit
- Created: 2024-07-15T22:48:19.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-01-12T03:09:02.000Z (28 days ago)
- Last Synced: 2025-01-29T06:49:52.221Z (11 days ago)
- Topics: go, gorilla-websocket, handlebars, htmx, video-player, websocket
- Language: Go
- Homepage: https://watch-together.up.railway.app/
- Size: 7.23 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Watch Together
- A simple way to watch videos in real time with multiple connected clients using websockets
- Implements real time play/pause and scrubbing, ability to add/remove videos, and OAuth authentication# Demo
[![Demo](./media/thumb.jpg)](https://vimeo.com/1043972987?share=copy#t=0)
# Developing
### Server
- These env vars must be set before running the command below
- export AWS_URL=
- export AWS_ACCESS_KEY_ID=
- export AWS_REGION=
- export AWS_SECRET_ACCESS_KEY=
- export AWS_S3_BUCKET=
- export DATABASE_PUBLIC_URL=
- export CLIENT_ID=
- export CLIENT_SECRET=
- export GOOGLE_REDIRECT_URL=
- `air` will run the server in watch mode, or simply run the server using `go run main.go`### Client
- `npm install` to install tailwind
- `npx tailwindcss -i ./client/input.css -o ./client/output.css --minify --watch` to generate styles in watch mode
- `client.js` change websocket url to localhost when local server running# TODO
- Bug sometimes when seeking, sends infinite play/pause messages
- Reconnect logic?
- Chat system?