WeVoteServer
We Vote's API application server written in Django/Python. Election data pulled from many sources, used by https://github.com/wevote/WebApp and https://github.com/wevote/WeVoteCordova and https://github.com/wevote/Campaigns.
Install / Use
/learn @wevote/WeVoteServerREADME
README for WeVoteServer
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, <a href="https://www.clahub.com/agreements/wevote/WeVoteServer">sign the Contributor License Agreement</a>.
Installing Python/Django API Server
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 (Windows Subsystem for Linux) on Windows
-
Use Docker
Installing We Vote Mobile Web Application (React/Flux)
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.
After Installation: Working with WeVoteServer Day-to-Day
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
Join Us
We meet weekly on Google hangouts, and on a team Slack. Please contact Dale.McGrew@WeVote.US for more information.
Related Skills
node-connect
350.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
350.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
350.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
