A web application for collaborative whiteboarding. This is still an alpha version / proof of concept.
Find documentation for usage here. Find some explanation of my design decisions here. (These were writeups for the course CS50)
- Add unit tests, at least for reducers/action creators
- Revamp the landing page
- Dockerize & deploy to AWS
- Set timeout for deleting room state server-side after all users have disconnected
- Reduce technical debt - the logic for dispatching redux actions, emitting socket events, and manipulating the canvas is tightly coupled (see
canvasEventHandlers
and theconfigureSocket
files). Utilizing redux middleware would be the way to go... - Real-time messaging
- Google OAuth(?)
- Some sort of rollback feature - this should be possible by periodically taking snapshots of the board state
Node.js v6+