Marker is a simple sharable white board application using websockets written in Go. The frontend is written in Svelte.
To build the server, run the following in your terminal. This runs the build
script in the Makefile
make build
To run the server, call the run.sh
script:
./run.sh
To build the backend, run the following in your terminal. This runs the build-app
script in the Makefile
make build-app
My general workflow involves watching to front end for changes, and executing make build-app
when a file is saved. My watch program make this pretty simple. I run something like the following in one terminal window. This watches all the files in app/src/*
for changes.
find app/src/* | watch --poll-rate 250 "make build-app"
In another terminal window I run make build
whenever I make changes to the server.
NOTE: I don't watch the changes for the server due to limitations of my watch program.
- Implement basic app in svelte
- Implement drawing
- Create drawing board
- Create the data structure for sending/receiving
- implement using websockets
- Preserve drawings option (maybe use redis for in memory storage)
- Add "rooms" feature
- Backend handling of rooms with IDs
- Frontend for creating rooms
Follow the design on Figma
Here are some basic contibuting rules
When upgrading a version run the following make commands:
- For a major upgrade, run
make major
- For a minor upgrade, run
make minor
- For a patch upgrade, run
make patch
- For a specific version, run
make version v=<version>