Skip to content
This repository has been archived by the owner on Nov 28, 2023. It is now read-only.

Commit

Permalink
Update README.md - no online demo
Browse files Browse the repository at this point in the history
- Removes reference to future on-line demo
- fix a wrong link and a few typos
- fix Markdown formatting
  • Loading branch information
bbailleux authored Nov 28, 2023
1 parent e48ac4b commit fc06b96
Showing 1 changed file with 30 additions and 22 deletions.
52 changes: 30 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
@@ -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:<proxy-port> --build-arg HTTPS_PROXY=proxy-host:<proxy-port>` 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
Expand All @@ -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




0 comments on commit fc06b96

Please sign in to comment.