Vincent is a system for reporting, assigning, and tracking voter protection incidents.
- Streamline data entry for attorneys.
- Help lead attorneys triage & admins effectively triage the "hottest" issues amongst their thinly spread field attorney resources.
- Location reporting, especially – make that as dead simple as possible.
- Geolocation. Click "Find polling locations near me" and it gives the attorneys a list of places to choose from. Boom.
- A highly customized Django admin to slice and dice incidents that need tracking.
- GeoDjango niceness, for filtering (and visualizing) incidents, with help from Leaflet.
- Stork Jobs to porting data around. More on that in a minute.
- Django (~1.9)
- GeoDjango https://docs.djangoproject.com/en/1.9/ref/contrib/gis/install/#mac-os-x
- Stork / DNC access
git clone [email protected]/Bernie-2016/vincent.git
cd vincent
mkvirtualenv vincent
pip install -r requirements.txt
- Rename
.env.sample
to.env
and updateSECRET_KEY
andDATABASE_URL
(and, for email invite support,MAILGUN_ACCESS_KEY
andMAILGUN_SERVER_NAME
) ./manage.py migrate
- Seed some data into your local database
./manage.py runserver
It really only needs three things in an ongoing basis:
- Clear out issues. Marking them Closed or even Deleting them would probably do the trick.
- Loading attorney users. Create a CSV file with these fields:
'First Name', 'Last Name', 'Email', 'Phone', 'Group'
, and see./manage.py load_users
for doing that; it will email out invites. - Populating polling locations (with precinct rankings) via Stork job.
That last one's going to require some elaboration — somewhere in the bowels of Vertica, there's:
- A Stork job to pull all the polling place locations within a given set of states (specified by abbreviation). Find that job and sub in the states you need. You'll want to run this close to / the night before Election Day.
- Run ANOTHER Stork job, on that data, to use SmartTarget's geocoding service to produce lat / lng pairs on each of those points.
- Run a third Stork job, to pipe ALL that composite data, over to Vincent's Postgres Database.
The jobs all exist, almost surely owned by me (Jon Culver). It's a bit to wrap your head around but most of the pieces are in place. Run them and wait (the state of CA, for example, might take a few hours to geocode entirely) and then you're gold!