Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/moethu/paintchat
a digital chalkboard written in go
https://github.com/moethu/paintchat
golang websocket whiteboard
Last synced: about 19 hours ago
JSON representation
a digital chalkboard written in go
- Host: GitHub
- URL: https://github.com/moethu/paintchat
- Owner: moethu
- License: apache-2.0
- Created: 2021-01-24T12:49:50.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2021-02-05T17:38:28.000Z (about 4 years ago)
- Last Synced: 2024-12-19T23:15:42.860Z (about 2 months ago)
- Topics: golang, websocket, whiteboard
- Language: JavaScript
- Homepage: https://paint-chat.com
- Size: 861 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# paintchat
a simple digital chalkboard written in go.
![](https://raw.githubusercontent.com/moethu/paintchat/main/static/screenshot.png)
the server is similar to a chat server with rooms implemented using go channels. each client is streaming its drawing actions to the server throgh a websocket. the server then broadcasts changes to all other clients in the same room. As long as a client stays connected all its streamed data remains buffered at the server. If a new client connects it first gets a random name and color assigned and then receives all drawing history form all other currently connected clients. Once a user leaves a room all her drawing data will be lost.
### Feature list
- all users enter a public board when opening the root url
- create private boards
- copy board url on click
- three different pencil sizes
- random name and color assignment
- erase all what you've been drawing so far
- save drawing as png### Dependencies
All dependencies are installed using go modules.
### Build & run
simply run `go build .` or `go run` to build.
### Contribute
You are welcome to open pull-request or simply report feature requests or issues.