Carpool Vote connects volunteer drivers with anybody who needs a ride to claim their vote. We are a nonpartisan organisation: Our goal is to increase voter turnout and improve representation.
We successfully deployed the site for the US 2016 election and now we are working hard on improvements for the various US elections in 2017 and beyond. We're a team of volunteers from around the world, working pro bono in our free time alongside our day jobs. As a result, we need all the help we can get, and any contributions would be gratefully appreciated.
We have a Slack team. Please email us if you would like to join.
Everything related to the back-end of Carpool Vote exists in this repo. The main components are a Nodejs app that provides services to the front-end and a Postgres database. Other components, written in both Python and Nodejs, send emails, SMS messages, and provide other functions to support the Nodejs app and the database.
Travis CI tests are run automatically against all PRs.
Docker and docker-compose are used to provide contributors with a variety of development environments and automated tests.
Details can be found here
This is here.
The database is Postgres. This is here
The front-end repo is here. The main site is available at http://carpoolvote.com/
If you're interested in contributing to this project, read our guidelines for how to contribute first, and also please be aware of our code of conduct.
- make sure you have docker and docker-compose installed
- Clone your fork of the backend repo
- In your /etc/hosts file, define 127.0.0.1 api.carpoolvote.com
- Build the docker images
- docker-compose -f docker-compose-build.yml build
- Run the containers
- docker-compose up -d
- You can now run the front end (jekyll), it will reach the backend on https://api.carpoolvote.com/live
- Note: In this test environment, a self-signed certificate is used by the backend instead of the real official certificate from LetsEncrypt. That will cause some errors in your browser. You will likely have to add an exception to allow it.