Express & Angular app for sending messages to Senate and House members
Democracy.io is an app for contacting Senate & House members. It provides a user friendly wrapper around the individual member contact forms.
It uses APIs from:
Ensure that redis is running locally: http://redis.io/topics/quickstart
npm install
npm run build
You can generate required creds by running
node bin/gen-creds.js
or:
After you've run npm install
generate a salt for encrypting IP addresses and store it in your local.json file, under: SERVER > CREDENTIALS > IP > SALT
var bcrypt = require('bcrypt');
var salt = bcrypt.genSaltSync(10);
console.log(salt);
Set a session secret and store it in your local.json file, under: SERVER > CREDENTIALS > SESSION > SECRET
App config is controlled via the node-config module.
To set credentials, create a local.json file under the config dir and override the SERVER.CREDENTIALS setting.
Alternately, you can use:
npm run test
Spins up a local server to serve the app, including proxying browsersync on top of the express server.
gulp serve
To deploy the server, simply run:
pm2 deploy ecosystem.json5 production
For more instructions on setting up a production server, check /devops/README.md.
See the www/README.md for details