Giter Club home page Giter Club logo

boardroom-io's Introduction

Boardroom-io

Remote collaborative whiteboarding

###Rationale

There are currently a number of excellent tools that enable developers to colaborate remotely on code. However, whiteboarding is an important element of the design process, and at the present, there is a lack of solutions that allow developers to collaborate remotely on handwritten diagrams.

Getting started

  1. Run npm install to install dependencies
  2. Run npm run front-end-build to transpile and bundle the client-side code. Gulp will watch for changes in the client-side Javascript and automatically rebundle when it detects a change.
  3. Run npm start to start the server. Nodemon will automatically restart the server if it detects a change in the server side code.

Connecting to the Boardroom

Boardroom-io incorporates WebRTC technology in order to allow clients to exchange video, audio, text, and canvas data. However, WebRTCs video and audio APIs are currently disallowed when the clients are connected to an insecure server, due to security concerns. Therefore, in order to test Boardroom-io from a local http server, it is necessary to deactivate some of the security features of Google Chrome (see here for more details). To deactivate the security features on Google Chrome on Mac OSX, do the following:

  1. Record the private IP address (on the local network) of the computer that is running the server.
  2. From a different computer connected to the same network, run Google Chrome from the command line, including the --unsafely-treat-insecure-origin-as-secure=<IP Address of server computer, including port number>.
  • On Mac OSX, type the following command in the command line: /applications/google\ Chrome.app/Contents/MacOS/Google\ Chrome --unsafely-treat-insecure-origin-as-secure=<IP Address of server computer, including port number> --use-data-dir=<path to some directory where Chrome can put browsing data>
  • Once the browser opens, navigate to the IP address of the computer running the server in the URL bar. Make sure to include the port number as well. For example: 192.168.0.117:3000

Resources

Currently, this project uses two different libraries to implement WebRTC connections between clients:

  1. SimpleWebRTC for the video and audio data
  2. Socket.io-p2p for the canvas and text chat data

boardroom-io's People

Contributors

bryanyee avatar dking1286 avatar mrrockabilly avatar wcbarnes avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

boardroom-io's Issues

Canvas lines jagged

The canvas lines are currently being drawn very jagged. Can we straighten them out? Would it help to draw single points on the canvas instead of strokes?

Multiple users drawing

When multiple users attempt to draw at the same time, their paths connect with each other. Can we solve this and allow them to draw at the same time? Can we prevent one user from drawing when another user is drawing?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.