Skip to content

Commit e532f29

Browse files
Update documentation
1 parent c45d8e0 commit e532f29

File tree

2 files changed

+14
-49
lines changed

2 files changed

+14
-49
lines changed

README.md

Lines changed: 13 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
# web-mpc
22

3-
[![Build Status](https://travis-ci.org/Boston-Women-Work/data-aggregator.svg?branch=master)](https://travis-ci.org/Boston-Women-Work/data-aggregator)
4-
[![Coverage Status](https://coveralls.io/repos/github/Boston-Women-Work/data-aggregator/badge.svg?branch=angular)](https://coveralls.io/github/Boston-Women-Work/data-aggregator?branch=angular)
5-
63
Implementation of a web-based data collection and aggregation infrastructure that utilizes secure multi-party computation techniques to allow individual contributors to submit their data without revealing it to the other participants.
74

85

@@ -37,7 +34,8 @@ mongod
3734
```
3835
* Finally, retrieve the application files and in the directory "server/" run:
3936
```
40-
forever -o log.txt -e error.txt start index.js
37+
export NODE_ENV=production
38+
authbind --deep forever -o log.txt -e error.txt start index.js
4139
```
4240

4341
## Local machine installation
@@ -85,56 +83,24 @@ Instructions on how to operate the web-mpc application. All steps below are perf
8583

8684
#### Generate session key
8785

88-
* Navigate to `localhost:8080/trusted`
86+
* Navigate to `localhost:8080/session`.
8987
* Click on **Generate Session** and copy and share the session key with all participants.
9088

9189
#### Fill out data
9290

9391
* All participants will navigate to `localhost:8080`, paste the session key into its designated field and proceed to fill out the information. Once completed, click **Submit**.
9492

93+
#### Manage session
94+
95+
* Navigate to `localhost:8080/track`.
96+
* Input your session key and password.
97+
* Generate participation links.
98+
* Start the session.
99+
95100
#### Retrieve the result
96101

102+
* Stop the session
97103
* Navigate to `localhost:8080/unmask`.
98-
* Paste the session key in its designated field.
104+
* Paste the session key and password in its designated fields.
99105
* Click **Browse** and upload the private key file that was downloaded when generating the session key.
100-
* Click **Unmask Data** and view the result
101-
102-
## Directories and file structure
103-
104-
#### ./client
105-
106-
* This contains the code for the data contribution client application.
107-
108-
* `./client/index.html`: the html page for entering the data.
109-
110-
* `./client/script/client.js`: contains functions for validating, organizing, masking/encrypting, and submitting data to the server.
111-
112-
#### ./server
113-
114-
* This contains the code for the computation server.
115-
116-
* `./server/index.js`: contains API end-points and functions for storing submission, tracking number of participants, aggregating data, and retrieving public keys, data and masks.
117-
118-
* `./server/template.json`: contains a json template of what a valid submission looks like. The template will be used with Joi to validate that requests abide by the template.
119-
120-
#### ./trusted
121-
122-
* This contains web pages for creating new sessions and viewing progress of existing sessions.
123-
124-
#### ./unmask
125-
126-
* This contains the code for unmasking and displaying aggregate result.
127-
128-
* `./unmask/index.html`: the webpage that allows the aggregate results to be unmasked and viewed.
129-
130-
* `./unmask/script/unmask.js`: decrypts masks using browser-native encryption/decryption functions.
131-
132-
#### ./shared
133-
134-
* This contains files that are generic and are used by multiple parts of the application.
135-
136-
* `.shared/mpc.js`: contains an implementation of the MPC primitives used for masking and unmasking (recombining), operating on masked/shared data, and encryption using 3rd party libraries. This file is used by **client**, **server**, and **unmask**.
137-
138-
* `.shared/sail_hot.js`: a generic wrapper/library around HandsOnTable that simplifies validation, rendering, and defining tables. This file is used by **client** and **unmask**.
139-
140-
* `.shared/templates/tables.js`: a JSON definition of the HandsOnTable used in the application (including rows and columns, cell types, validators, tooltips, and so on). This file is used by **client** and **unmask**.
106+
* Click **Unmask Data** and view the result.

package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
{
22
"name": "web-mpc",
33
"version": "2.0.0",
4-
"description": "[![Build Status](https://travis-ci.org/multiparty/web-mpc.svg?branch=master)](https://travis-ci.org/multiparty/web-mpc)",
4+
"description": "Web-based data collection and aggregation infrastructure that utilizes secure multi-party computation techniques.",
55
"main": "index.js",
66
"directories": {
77
"test": "test"
88
},
99
"dependencies": {
10-
"eslint-plugin-require": "0.0.1",
1110
"forge": "^2.3.0",
1211
"handsontable": "^0.34.1",
1312
"ladda": "^1.0.4",

0 commit comments

Comments
 (0)