Ground Control is the campaign's central platform for creating, managing, and increasing turnout to events. It contains several key tools used every day by campaign volunteers and staff:
- An administrative interface for editing and approving events
- An event creation tool
- Call and email tools for event hosts to increase turnout
- A constituent lookup tool for administrative use
- A constituent event dashboard to allow uploading of data files for review by our data team
In OS X, we currently run everything locally using a Procfile and node-foreman. To get started, install Node.js 5.x and Homebrew. Then clone this repository and cd into ground-control. Then do the following:
npm install
./setup-osx
Then you should be able to start Ground Control on http://localhost:3000
with
npm run dev
On Linux, follow the same directions as OS X above, but substitute ./setup-linux
for the equivalent OS X script.
You will also need to have Docker and docker-compose installed to provide your database.
You can find environment defaults in .env.sample
. The first time a setup script is run, .env
will be generated with these defaults.
If you ever need to generate a missing .env
, run
npm run gen-env
Want to help out? You can jump right in to see issues that are ready to be tackled by looking at the status-ready issue label. If you are just getting started with the project, also check out the newbie-friendly label.
You can also see an overview of where all of our issues stand at https://waffle.io/Bernie-2016/ground-control
We use Gitflow to accept pull requests. To submit a change:
- Fork the project to your own GitHub account (click "Fork" on the project page in GitHub)
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request
For code review and discussion, ping @jlegrone on the berniebuilders slack.
Read our wiki for more guidance on development and other FAQs.
This project is licensed under AGPL.