From fc06b96fd65c7e75288dd3ae1f9a510388af3a6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Bailleux?= Date: Tue, 28 Nov 2023 13:56:23 +0000 Subject: [PATCH] Update README.md - no online demo - Removes reference to future on-line demo - fix a wrong link and a few typos - fix Markdown formatting --- README.md | 52 ++++++++++++++++++++++++++++++---------------------- 1 file changed, 30 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index c80e5c3..7010365 100644 --- a/README.md +++ b/README.md @@ -1,56 +1,68 @@ # Just Drop It + [![Build Status](https://travis-ci.org/Orange-OpenSource/just-drop-it.svg?branch=master)](https://travis-ci.org/Orange-OpenSource/just-drop-it) just-drop-it allows you to simply and instantly send a file to a friend, whatever your network configuration (proxies, VPN, and such). Just open your browser, drop the file in it and send the generated link to your friendĀ : the file will be beamed to him without being stored on any platform. ### why would anyone do this? -We thought that this kind of tool was missing in our work environment, so we tried to set one up. Lucky for us, tools like [node.js](https://nodejs.org/), [Express](http://expressjs.com/), [socket.IO](http://socket.io/) and [socket.IO-stream](https://github.com/nkzawa/socket.io-stream) made it quite easy to get something up and running. + +We thought that this kind of tool was missing in our work environment, so we tried to set one up. Lucky for us, tools like [Node.js](https://nodejs.org/), [Express](http://expressjs.com/), [socket.IO](http://socket.io/) and [socket.IO-stream](https://github.com/nkzawa/socket.io-stream) made it quite easy to get something up and running. ## How to use it -It couldn't be more simple (but you will need a running instance of just-drop-it. If you don't have one see [the section below](##how-to-run-it) or wait for our online demo (*if a few days, we promise* :grin:) -- open your just-drop-it in your browser -- drop your file (*just one please*) +It couldn't be more simple (but you will need a running instance of just-drop-it. If you don't have one see [the section below](#how-to-run-it) -![Image of Yaktocat](http://orange-opensource.github.io/just-drop-it/drop.png) +- open your just-drop-it in your browser +- drop your file (*just one please*) -- send the generated link to your friends +![Droping a file](http://orange-opensource.github.io/just-drop-it/drop.png) -![Image of Yaktocat](http://orange-opensource.github.io/just-drop-it/link.png) +- send the generated link to your friends -- **keep your browser open** until your friends received the complete file +![Sharing the link](http://orange-opensource.github.io/just-drop-it/link.png) -![Image of Yaktocat](http://orange-opensource.github.io/just-drop-it/transfer.png) +- **keep your browser open** until your friends received the complete file + +![Watching the upload progress](http://orange-opensource.github.io/just-drop-it/transfer.png) ## How to run it ### On any computer -#### With node JS -Download and install [node.js](https://nodejs.org/download/). Then: -* Download the source code -* Download the needed dependencies (first time only): `npm install` -* Start node-js server: `npm start` (to start the server in dev mode wit hot reload: `npm run start-dev`) + +#### With Node.js + +Download and install [Node.js](https://nodejs.org/download/). Then: + +- Download the source code +- Download the needed dependencies (first time only): `npm install` +- Start Node.js server: `npm start` (to start the server in dev mode wit hot reload: `npm run start-dev`) ##### With docker -We provide our own docker image to deploy node js. + +We provide our own docker image to deploy Node.js. + - Build the image (first time): `docker build -t just-drop-it .` (add `--build-arg HTTP_PROXY=http://proxy-host: --build-arg HTTPS_PROXY=proxy-host:` if you are running behind a proxy) - Run the image (first time): `docker run --name just-drop-it -p 8080:8080 -d just-drop-it` (next time you will just have to start it with `docker start just-drop-it`) -### on an openshift instance -just-drop-it should work on [openshift3](http://openshift.redhat.com/) instances. Just create a node-js v6 app and synchronize its git repository with our. +### on an OpenShift instance + +just-drop-it should work on [OpenShift3](http://openshift.redhat.com/) instances. Just create a Node.js v6 app and synchronize its git repository with our. ## From a technical point of view + More details on our implementation, to be updated. ### Framework + To meet the requirements, we chose the followings: -- [Node Js](https://nodejs.org/) +- [Node.js](https://nodejs.org/) - [Express](http://expressjs.com/) - [socket.io](http://socket.io/): this allows us communication between clients and server. - [socket.io stream](https://github.com/nkzawa/socket.io-stream): this allows us to stream the file between sender and server. ### Error handling + Handling network cutting is a hassle. The most common scenario is the following: - a big file transfer is ongoing @@ -62,7 +74,3 @@ In order to provide a better monitoring, the number of bytes written on the http - provide real download progress - close a transfer that has been closed by the network - control that when a socket is closed, all the file size bytes has been written on it - - - -