client-data | ||
other-data | ||
server | ||
server-data | ||
.gitignore | ||
.openodeignore | ||
.travis.yml | ||
AUTHORS | ||
docker-compose.yml | ||
Dockerfile | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
README.md |
WBO
WBO is an online collaborative whiteboard that allows many users to draw simultaneously on a large virtual board. The board is updated in real time for all connected users, and its state is always persisted. It can be used for many different purposes, including art, entertainment, design, teaching.
A demonstration server is available at https://wbo.openode.io.
Screenshots
The anonymous board
Used for teaching
Used for collaborative diagram editing
Used for drawing art
Running your own instance of WBO
If you have your own web server, and want to run a private instance of WBO on it, you can.
Clone the repository
git clone git@github.com:lovasoa/whitebophir.git
cd whitebophir
Running the code in a container (safer)
You can run the official docker image hosted on dockerhub or build your own very easily using docker compose.
Choose where to persist the data
At the moment, WBO has a very simple persistance model: it saves each whiteboard as a separate json file in a directory.
You can edit docker-compose.yml
to choose where you want to persist the data :
volumes:
- ./server-data:/opt/app/server-data
Here, I chose to persist the data in ./server-data
(inside the directory where I cloned the repo).
Start the service
sudo docker-compose up
This will start wbo on port 80. (You can change the port number in docker-compose.yaml
if you want).
Running the code without a container
Alternatively, you can run the code with node directly, without docker :
npm install
npm start
If you do that, the code is running directly on your machine, without any isolation from the other services. Make sure you do not run another sensitive service on the same host.
Troubleshooting
If you experience an issue or want to propose a new feature in WBO, please open a github issue.