Giter Site home page Giter Site logo

copperwall / call-power Goto Github PK

View Code? Open in Web Editor NEW

This project forked from opensourceactivismtech/call-power

0.0 2.0 0.0 3.07 MB

an application to connect people to power with their phones

Home Page: http://www.callpower.org

License: GNU Affero General Public License v3.0

Python 57.97% Mako 0.13% Makefile 0.33% CSS 2.14% JavaScript 22.05% HTML 17.15% Shell 0.23%

call-power's Introduction

Call Power

Connecting people to power through their phones.

The admin interface lets activists:

  • Create and edit campaigns
  • Adjust call targets and phone numbers
  • Record audio prompts and select versions
  • Easily embed campaign forms on their website
  • View campaign statistics and system analytics

The server lets callers:

  • Dial in directly to the campaign number
  • Fill out a web form and get a call back on their phone
    • specifying a target directly
    • or entering their zip code to look up their location
  • Reference a script during the call

Campaign Configuration

  1. Create a campaign with one of several types, to determine how callers are matched to targets.
  • Executive connects callers to the Whitehouse Switchboard, or to a specific office if known
  • Congress connects callers to their Senators, Representative, or both. Uses data from the Sunlight Foundation.
  • State connects callers to their Governor or State Legislators. Uses the OpenStates API.
  • Local connects callers to a local official. Campaigners must enter these numbers in advance.
  • Custom can connect callers to corporate offices, local officals, or any other phone number entered in advance.
  1. Choose targets by segmenting on user location (determined by zipcode or lat/lon), and order by legislative chamber or random shuffle. For local and custom campaigns, campaigners can set a specific order by drag-and-drop.

  2. Record audio prompts in the browser (Firefox/Chrome only), or edit with another program and upload as MP3 files. For dynamic prompts, you can also text-to-speech templates. Reuse versions between campaigns, or adjust your prompts as the campaign evolves.

  3. Review the campaign setup, place a test call to yourself, and get the script to embed in your action platform.

Action Integration

For most uses, you can just place the <script> tag provided in the launch page into your action platform. This will add a post-submit callback to your action form to connect the caller, and optionally display the script in a lightbox.

For more complex integrations, Call Power provides javascript embeds and a full json API.

Installation Instructions

This application should be easy to host on Heroku, with Docker, or directly on any WSGI-compatible server. Requires Python, flask, a SQL database (we recommend Postgres, but Mysql should work), Redis or Memcache, and an SMTP server.

Read detailed instrustions at INSTALLATION.md

Political Data

Political data is downloaded from open data sources as flat files stored in this repository. These are read on startup and saved in a memory cache for fast local lookup.

To update these files with new data after elections, run cd call_server/political_data/data && make clean && make, and python manager.py load_political_data

Code License

See the license file for licensing information under the GNU AGPL. This license is applicable to the entire project, sans any 3rd party libraries that may be included.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.