This is a proof of concept AND a work in progress, don't share the word, yet.
“We are in 2015 and my students still have to copy what I wrote on a screen while I teach them something. This is a long and tedious process that slow down the lectures.
Google Document-like tools should NEVER be used for sharing code, we want syntax highlighting and static analysis not copy/pasting code inside an online document each time we make a change.
Online IDEs are NOT a solution. I have my own finely tuned editor, my students have theirs, we don't want to temporarily trade our workflow comfort for a lecture.
Both solution are stupid.
I want a tool that will allow each student to retrieve in real-time my edits while keeping their own local modifications. This tool will work with any editor/IDE because we sync at the file-system level. Each modification will be displayed in an history log and would be either merged locally or dropped definitely.”
— 03/06/2015
FileSync was first made during a lecture on AngularJS/Socket.io/NodeJS with IUT Nantes students on 3rd March 2015.
npm i filesync -g
filesync-server
filesync-relay /path/to/directory
- Fork the project
- Clone it on your computer
- Run
npm install
insidefilesync/
- Let's do this!
See issues there is still a lot of things to do/improve note that I will happily merge any pull-requests that solve each of the specified issues.
Since this tool is primary build for teaching, it will also display the number of students that don't currently have the page on focus using HTML5 Page Visibility API. (But yeah they can always open another browser window, in the end that feature was mainly developed for fun...)