]>
Commit | Line | Data |
---|---|---|
1 | # dead-drop | |
2 | A phone messaging system | |
3 | ||
4 | ## Configuring | |
5 | ||
6 | This project usese environment variables to work. For most cases, the | |
7 | defaults work but some sensitive info like keys must be overridden. Copy | |
8 | the file in `config/env.dist` to `.env` in the project root and override | |
9 | the values. | |
10 | ||
11 | When running with `make run`, it'll pick up these values automatically. | |
12 | If you're doing it the hard way, you'll have to source them. You must | |
13 | set the `DEAD_DROP_ACCOUNT_SID` to match your account sid. This is so | |
14 | dead drop can filter out calls from other accounts. | |
15 | ||
16 | ## Running Locally | |
17 | ||
18 | You'll need [Docker][docker] to run the project. | |
19 | ||
20 | * Run the image with `make run` | |
21 | ||
22 | ## Running locally the hard way | |
23 | ||
24 | If you don't want to use docker, you can also run it the old fashioned | |
25 | way. | |
26 | ||
27 | 1. Install dependencies with `yarn install` (recommended), or `npm install` | |
28 | 2. Run with `npm start` | |
29 | ||
30 | ## Generating documentation | |
31 | ||
32 | This project uses JSDoc to generate documentation. Generate everything | |
33 | with `npm run document`. The documentation will be generated in the | |
34 | `doc` directory. | |
35 | ||
36 | ## Building and pushing the image | |
37 | ||
38 | You can also do some other operations | |
39 | ||
40 | * Build the image with `make build` | |
41 | * Push and build the image with `make upload` | |
42 | * Clean the environment with `make clean` | |
43 | ||
44 | ## Setting up Twilio | |
45 | ||
46 | Get a twilio number, and on the configuration set the voice settings to | |
47 | "Webhooks/TwiML" and point the `A call comes in` hook to: | |
48 | the `/menus/main/` path of your dead drop installation. For example: | |
49 | `https://dead-drop.unlimited.piza/menus/main`. It must be accessible | |
50 | from the internet. | |
51 | ||
52 | You will also need your account sid. This is obtained from the "[Account | |
53 | Settings][account-settings]" area in the twilio dashboard. | |
54 | ||
55 | ## Checking the code | |
56 | ||
57 | This project uses the [Hapi Style Guide][hapi-style-guide] for | |
58 | javascript style, and includes eslint configuration to check them. Run | |
59 | `npm run lint` to check the code. | |
60 | ||
61 | [docker]: https://www.docker.com/ | |
62 | [hapi-style-guide]: https://hapijs.com/styleguide | |
63 | [account-settings]: https://www.twilio.com/console/account/settings |