This last workshop is very open ended. We’re going to provide no guidance, but just give you an idea for a project to build.
Your task is to build a real-time whiteboard app. Users who visit the site should be able to draw on the whiteboard and all the other users should be able to see what has been drawn immediately. Additionally, if a user drops an image or video into the whiteboard, it should show up on the whiteboard for all the participants.
We recommend you use WebRTC to connect all users of the whiteboard together. And you can use WebTorrent to make the file transfers of images and videos work efficiently.
For an example of what this whiteboard would look like when finished, take a look at this video demonstration from Feross, the founder of WebTorrent.
We recommend you use the following technologies:
simple-peer - Easiest library for getting started with WebRTC data channels
ws - WebSocket server for Node.js. This library helps your users connect to the server over a real-time socket connection so that both the browser and the server can push data to each other immediately. This is very useful for handling the
'signal' events that the
simple-peer library will emit.
WebTorrent - Use WebTorrent to make the file transfers of the images and videos work efficiently (with swarming)
Deploy your website and share the URL with us! If you build a cool website, please share it with us on Twitter @WebTorrentApp or on Discord. We love to share and promote the things created by the amazing WebTorrent community – and now that you’ve completed this workshop, that includes you!
Congrats you’ve finished all the workshops and you’re well on your way to being a master of peer-to-peer and all things WebTorrent and WebRTC!