This WeVoteServer repository contains a Python/Django-powered API endpoints server. We take in ballot data from Google Civic API, Ballotpedia, Vote Smart, MapLight, TheUnitedStates.io and the Voting Information Project. We then serve it up to voters, and let voters Support/Oppose and Like ballot items. We are also building tools to capture and share voter guide data.
You can see our current alpha version for recent national and some reigonal elections here: https://WeVote.US/
To get started as a We Vote developer, sign the Contributor License Agreement.
To install and develop the WeVote API server, follow the instructions below based on your preferred environment.
-
Use these Simplified Instructions for Mac leveraging the free (and powerful) PyCharm IDE and debugger (recommended!)
-
Install directly on your Linux machine (or use WSL on Windows)
-
Use Docker
The website front end application is powered by the We Vote WebApp
We distribute the We Vote WebApp in an Apache Cordova wrapper, with some native features, to provide iOS and Android apps.
See the iOS We Vote 2018 Ballot, @WeVote in the iTunes app store for iPhones and iPads.
See the Android We Vote 2018 Ballot, @WeVote in the Google Play store for most Android phone and tablet devices.
We also have a ReactNative for iOS and Android that is currently on hold.
Read about working with WeVoteServer on a daily basis
Need to upgrade Python?
3a. Install Python/Django on Mac
3b. Install Python/Django on Linux
If you need to test donations and have not updated your openssl and pyopenssl during install and setup, you will need to update your local.
See Instructions for Scheduled Tasks
How to run the WeVoteServer tests
How to run the WeVoteServer Locust Load Tests
We meet weekly on Google hangouts, and on a team Slack. Please contact Dale.McGrew@WeVote.US for more information.