Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

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.