mirror of
https://github.com/sbrl/Nibriboard.git
synced 2018-01-10 21:33:49 +00:00
Backup mirror of main Nirbiboard repository on GitHub.
https://github.com/sbrl/Nibriboard
Nibriboard | ||
.gitignore | ||
.gitmodules | ||
.tern-project | ||
LICENSE | ||
Nibriboard.sln | ||
Nibriboard.svg | ||
package-lock.json | ||
README.md |
Nibriboard
An infinite whiteboard for recording those big ideas.
Nibriboard is a product of an initial idea that I thought I could get done in about 3 weeks in February 2017, but 9 months later I'm going strong, but not quite there yet :P
Features
- Infinite whiteboard that can be panned around (limited only by your hard drive space and floating-point number limits)
- Real-time multi-user support
- User input is simplified to reduce disk space / bandwidth
Todo
- Authentication + user accounts
- Multi-whiteboard support (the backend supports it - it's just not exposed correctly yet)
- Improve client-side multi-user cursor support (disconnected users' cursors don't disappear correctly)
- Improve colour palette
- Improve left-hand user interface panel
- Make debug info hidden by default + toggleable
- Implement WebSockets gzip support in the GlidingSquirrel
Getting Started
Nibriboard is not ready for general consumption just yet. It's got no authentication yet for one! If you'd like to play around with it, then you'll need the following:
- Node.JS + npm
- mono if you're on Linux / macOS / etc.
Next, run
Credits
- Main code - Starbeamrainbowlabs
- Client-Side Libraries:
- favicon-notification
- event-emitter-es6 - For ES6 class event generation and consumption
- color - For colour generation and manipulation
- cuid - For Id generation (Also available for .NET - todo look into using that here too)
- fps-indicator - The fps graph in the top right
- pan-zoom - Handles panning & zooming delta calculations
- keycode - Key code -> key name translation
- acorn - Syntax checking etc. during
npm build .
- webpack - Building and packing the client-sided js into a single bundle
- Images:
- Transparent Square Tiles from subtlepatterns.com
- Icons:
- OpenIconic - brush, move -> pan, sun -> point
- Future reference: Libraries I am considering
- Paper.js - Client-side rendering
- IotWeb - Underlying HTTP / WebSocket server