summaryrefslogtreecommitdiff
path: root/README.md
blob: 1397b6921819b0cf146a42df73a811460ccd03a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# OpenDC Web Server

## Setup

The following steps will guide you through setting up the OpenDC web server locally for development. To test individual endpoints, edit `static/index.html`. This guide was tested and developed on Windows 10.

Make sure you have Python 2.7 installed (if not, get it [here](https://www.python.org/)), as well as pip (if not, get it [here](https://pip.pypa.io/en/stable/installing/)). Then run the following to install the requirements.

```bash
pip install flask
pip install flask_socketio
pip install oauth2client
pip install eventlet
```

Clone both this repository and the main OpenDC repository, from the same base directory.

```bash
git clone https://github.com/tudelft-atlarge/opendc-web-server.git
git clone https://github.com/tudelft-atlarge/opendc.git
```

Set up the database, replacing `PATH_TO_DATABASE` with where you'd like to create the SQLite database. (This will replace any file named `opendc.db` at the location `PATH_TO_DATABASE`.)

```bash
python opendc/database/rebuild-database.py "PATH_TO_DATABASE"
```

Create a file `KEYS.json` in `opendc-web-server`, containing the following. Replace `BASE_DIRECTORY` with the base directory in which you cloned `opendc` and `opendc-web-server`. Replace `OAUTH_CLIENT_ID` with your OAuth client ID (see the [OpenDC README](https://github.com/tudelft-atlarge/opendc#preamble)). Replace `PATH_TO_DATABASE` with where you created the database.

```json
{
    "ROOT_DIR": "BASE_DIRECTORY",
    "OAUTH_CLIENT_ID": "OAUTH_CLIENT_ID",
    "DATABASE_LOCATION": "PATH_TO_DATABASE\\opendc.db",
    "FLASK_SECRET": "FLASK_SECRET"
}
```

In `opendc-web-server/static/index.html`, add your own `OAUTH_CLIENT_ID` in `control=`.

Run the server.

```bash
cd ../opendc-web-server
python main.py "PATH_TO_DATABASE\\opendc.db"
```