Skip to content

Latest commit

 

History

History
45 lines (34 loc) · 1.88 KB

README.md

File metadata and controls

45 lines (34 loc) · 1.88 KB

Briteboard - Final Project

https://briteboard.herokuapp.com/

Main contributors: Aaron Ford, Paul Lo, Taylour Kroeker

Overview

An online collaborative whiteboard application for creative sketching, diagramming, and planning, built as our final group project at Lighthouse Labs. Users can create new boards (no registration required) using provided starter templates, and then share the link to their board with friends and colleagues. Users collaborate by freehand drawing, adding shapes, text and images, and communicate via voice and video chat. Boards and their current state are saved in a database so they can be revisited at any time, or deleted when no longer needed.

Getting Started

  1. Make sure you have installed Node.js & npm
  2. Fork and clone this repository
  3. Install all dependencies in the root folder by running npm install
  4. In db/config, rename keys_example.js to keys.js and add your mongoURI to connect your database
  5. Start the server with npm run server
  6. Run open http://localhost:3000 OR navigate to http://localhost:3000/ in your browser to see the app running

Final Product

"Landing page" "Demo board"

Tech Stack

  • Node.js
  • Express
  • EJS
  • jQuery
  • Bootstrap
  • Socket.IO
  • Fabric.js
  • FileSaver
  • SimpleWebRTC
  • MongoDB
  • Mongoose
  • Heroku

Next Steps

  • Prevent stacking of error dialog boxes on socket disconnect
  • Improve error handling for socket disconnection (graceful reconnection instead of error dialog boxes)
  • Minimize socket disconnections by reducing information transfer
  • Allow users to pause remote video streams
  • Add 'clear' and 'fill' functions