Skip to content

A simple collaborative white board application written in Go + Svelte

Notifications You must be signed in to change notification settings

gregzanch/marker

Repository files navigation

Marker Logo

version 1.1.0

Marker is a simple sharable white board application using websockets written in Go. The frontend is written in Svelte.

Developing

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 Workflow

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.

Roadmap

  • 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

Design

Follow the design on Figma

Contributing

Here are some basic contibuting rules

Upgrading Version

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>