https://github.com/thesephist/draw
Real-time collaborative whiteboard on the web
https://github.com/thesephist/draw
go torus-dom websockets whiteboard
Last synced: 5 months ago
JSON representation
Real-time collaborative whiteboard on the web
- Host: GitHub
- URL: https://github.com/thesephist/draw
- Owner: thesephist
- License: mit
- Created: 2020-05-15T01:40:39.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-05-16T18:38:29.000Z (over 5 years ago)
- Last Synced: 2024-11-07T05:39:25.564Z (11 months ago)
- Topics: go, torus-dom, websockets, whiteboard
- Language: JavaScript
- Homepage: https://draw.linus.zone
- Size: 83 KB
- Stars: 128
- Watchers: 3
- Forks: 11
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# draw 🖌
draw is a tiny in-memory collaborative whiteboard for the web. draw syncs pen strokes in real-time across all users in the room, as well as managing presence in real-time between all active users to show when users join and leave. I wouldn't call it production-ready, but it works well enough for my personal use cases of doodling with friends, and fits in a few megabytes of RAM.
I usually use it to share drawings and doodle together with friends on iPads with the Apple Pencil, and works quite well even on slow connections and devices.
It's built on...
- [Torus](https://github.com/thesephist/torus) as a light frontend UI library
- [blocks.css](https://thesephist.github.io/blocks.css/) to add some spice to the UI design
- [Gorilla WebSocket](https://github.com/gorilla/websocket) for initiating and managing WebSocket connections, and as a simple web server
## Deploy
Deployment is managed by systemd. Copy the `draw.service` file to `/etc/systemd/system/draw.service` and update:
- replace `draw-user` with your Linux user
- replace `/home/draw-user/draw` with your working directory (path to repository or a copy of `static/`)Then start draw as a service:
```sh
systemctl daemon-reload # reload systemd script
systemctl start draw # start draw server as a service
```