Skip to content
Polls is an example web API that allows consumers to view polls and vote in them.
Branch: master
Clone or download
pksunkara Update to psycopg2-binary (#67)
Update to psycopg2-binary
Latest commit ffd424e May 26, 2019

Polls API

Apiary Documentation Circle CI Status

This is a Python implementation of a Polls API, an API that allows consumers to view polls and vote in them. Take a look at the API Documentation. We've deployed an instance of this API for testing.

Development Environment

You can configure a development environment with the following:

NOTE: These steps assume you have Python along with pipenv installed.

$ pipenv install
$ pipenv run python migrate

Running the tests

$ python test

Running the development server

$ pipenv run python runserver

Running dredd

Providing dredd has been installed, you can run the following to run dredd against the Polls API:

$ pipenv run dredd

Running via docker

Running the development server

$ docker-compose up web
$ open "http://$(docker-machine ip default):8080"

Running tests in Docker

$ docker-compose run shell python test


Deploying on Heroku

Click the button below to automatically set up the Polls API in an app running on your Heroku account.

Deploy to Heroku

Once you've deployed, you can easily clone the application and alter the configuration to disable features:

$ heroku clone -a new-app-name
$ heroku config:set POLLS_CAN_VOTE_QUESTION=false
$ heroku config:set POLLS_CAN_CREATE_QUESTION=false
$ heroku config:set POLLS_CAN_DELETE_QUESTION=false

Deploying on Heroku using Docker

If you'd like to, you may use Docker on Heroku instead. Refer to the Heroku Container Registry and Runtime Guide for detailed instructions. Providing you have Docker installed you can follow the following steps:

$ heroku container:login
$ heroku container:push web
$ heroku container:release web


polls-api is released under the MIT license. See LICENSE.

You can’t perform that action at this time.