/spacedeck-open

Spacedeck, a web based, real time, collaborative whiteboard application with rich media support

Primary LanguageJavaScriptGNU Affero General Public License v3.0AGPL-3.0

Spacedeck Open

Spacedeck 6.0 Screenshot

This is the free and open source version of Spacedeck, a web based, real time, collaborative whiteboard application with rich media support. Spacedeck was developed in 6 major releases during Autumn 2011 until the end of 2016 and was originally a commercial SaaS. The developers were Lukas F. Hartmann (mntmn) and Martin Güther (magegu).

The spacedeck.com online service was shut down on May 1st 2018. We decided to open-source Spacedeck to allow educational and other organizations who currently rely on Spacedeck to migrate to a self-hosted or local version.

MNT Research GmbH has restarted development of Spacedeck Open in 2020.

We appreciate filed issues, pull requests and general discussion.

Features

  • Create virtual whiteboards called Spaces with virtually unlimited size
  • Drag & drop images, videos and audio from your computer or the web
  • Write and format text with full control over fonts, colors and style
  • Draw, annotate and highlight with included graphical shapes
  • Turn your Space into a zooming presentation
  • Collaborate in realtime with teammates, students or friends
  • Share Spaces on the web or via email
  • Export your work as printable PDF or ZIP (currently being fixed, stay tuned)

Use Cases

  • Education: Virtual classwork with multimedia
  • Creative: Mood boards, Brainstorming, Design Thinking
  • Visual note taking and planning

Requirements, Installation

Spacedeck requires:

  • Node.js 18.x: Web Server / API. Download: https://nodejs.org
  • Graphicsmagick. On non-Linux, Download: http://www.graphicsmagick.org/ On Linux, install via package manager.
  • Optionally ffmpeg, audiowaveform and ghostscript. See "Optional Dependencies" below.

To run Spacedeck, you only need Node.JS 10.x.

To install all node dependencies, run (do this once) after cloning the repository:

npm install

Configuration

See config/default.json. Set storage_local_path for a local sqlite database or storage_region, storage_bucket, storage_cdn and storage_endpoint for AWS S3. mail_provider may be one of console or smtp. Also, omit a trailing / for the endpoint.

Disable DB logs

...
"db_logs_disabled": true
...

Configure color swatches

Add a custom array of swatches to your config/default.json.

You should include the swatch transparent (rgba(0,0,0,0)) so users can remove the color applied.

Configure default colors

You can define text, stroke and fill color in your config/default.json.

You also should include the default colors in your custom swatches palette.

...
"spacedeck": {
  "default_text_color": "#E11F26",
  "default_stroke_color": "#9E0F13",
  "default_fill_color": "#64BCCA",
  "swatches": [
    {"id":8, "hex":"#000000"},
    {"id":30, "hex":"rgba(0,0,0,0)"},
    {"id":31, "hex": "#E11F26"},
    {"id":32, "hex": "#9E0F13"},
    {"id":33, "hex": "#64BCCA"},
    {"id":34, "hex": "#40808A"},
    {"id":35, "hex": "#036492"},
    {"id":36, "hex": "#005179"},
    {"id":37, "hex": "#84427E"},
    {"id":38, "hex": "#6C3468"},
    {"id":39, "hex": "#F79B84"},
    {"id":40, "hex": "#B57362"},
    {"id":41, "hex": "#E7D45A"},
    {"id":42, "hex": "#ACA044"}
  ]
}
...

Run (web server)

node spacedeck.js

Then open http://localhost:9666 in a web browser.

Optional Dependencies

For advanced media conversion:

Data Storage

By default, media files are uploaded to the storage folder. The database is stored in database.sqlite by default.

Other databases (Not officially supported)

Postgres

Add the pg module and change the config/default.json to

"storage_dialect": "postgres",

Adapt the other values as needed

"storage_host": "localhost",
"storage_database": "spacedeck",
"storage_username": "username",
"storage_password": "password",

Run with Docker

  • configure config/default.json
  • adapt your docker-compose.yml if needed.
  • start the container with docker-compose up (use -d for background process and --build for rebuilding the image)

Hacking

To rebuild the frontend CSS styles:

gulp styles

License

The Spacedeck logo and brand assets are registered trademarks of Spacedeck GmbH. All rights reserved.

Spacedeck Open source code is released under the GNU Affero General Public License Version 3 (GNU AGPLv3).

Spacedeck Open - Web-based Collaborative Whiteboard For Rich Media
Copyright (C) 2011-2018 Lukas F. Hartmann, Martin Güther
Icons and original CSS design copyright by Thomas Helbig

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.