Giter Club home page Giter Club logo

call-forwarding-flask's Introduction

Twilio

Advanced Call Forwarding with Python, Flask, and Twilio

Build status

Learn how to use Twilio to forward a series of phone calls to your state senators.

Local Development

This project is built using the Flask web framework, and runs on Python 2.7+ and Python 3.4+

To run the app locally, follow these steps:

  1. Clone this repository and cd into it.

  2. Create a new virtual environment with virtualenv:

    virtualenv venv \
    source venv/bin/activate

    This application is compatible with Python versions 2.7 and 3.5, so feel free to use whichever installation you prefer in your environment.

  3. Install the requirements:

    pip install -r requirements.txt
  4. Run the migrations:

    python manage.py db upgrade
    
  5. Seed the database with data:

    python manage.py dbseed
    

    This will load senators.json and US zip codes into your SQLite database. Please note: our senators dataset is likely outdated, and we've mapped senators to placeholder phone numbers that are set up with Twilio to read a message and hang up.

  6. Expose your application to the internet using ngrok. In a separate terminal session, start ngrok with:

    ngrok http 5000
    

    Once you have started ngrok, update your TwiML application's voice URL setting to use your ngrok hostname. It will look something like this in your Twilio console:

    https://d06f533b.ngrok.io/callcongress/welcome

  7. Start your development server:

    $ python manage.py runserver
    

    Once ngrok is running, open up your browser and go to your ngrok URL.

Run the Tests

Run the tests locally with coverage:

coverage run manage.py test

You can then view the coverage results with coverage report or build an HTML report with coverage html.

Note: If coverage seems to run way too many files, you can omit directories by adjusting your coverage command to something like coverage run --omit=venv/* manage.py test. See the coverage docs for more information.

Meta

  • No warranty expressed or implied. Software is as is. Diggity.
  • MIT License
  • Lovingly crafted by Twilio Developer Education.

call-forwarding-flask's People

Contributors

satchkat avatar isurajmisra avatar smendes avatar well1791 avatar

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.