/Call-Your-Family

A free Twilio app to let Boston residents call their families while phone coverage is poor.

Primary LanguageCSSMIT LicenseMIT

Call Your Family

A free Twilio app to let Boston residents call their families while phone coverage is poor.

Built following the tragic loss of life during the Boston Marathon, 15 April 2013.

Build Status

Summary

Simple app using Twilio Client to let folks affected by the tragedy at the Boston Marathon to call their family.

It works like this:

  1. Put a phone number in the input box on the right.
  2. Click call.
  3. Click "Allow" on the permissions dialog that follows.
  4. Speak into the microphone on your laptop or desktop to talk with your family for up to ten minutes.

Usage

Once you deploy this app, you get a simple web form that asks you to put in your phone number:

Call Form

Call is then placed to the number (if it is valid) using Twilio Client.

Installation

Step-by-step on how to deploy and develop this app.

Deploy

  1. Grab latest source
git clone git://github.com/RobSpectre/Call-Your-Family.git 
  1. Install dependencies
make init
  1. Navigate to folder and create new Heroku Cedar app
heroku create --stack cedar
  1. Deploy to Heroku
git push heroku master
  1. Scale your dynos
heroku scale web=1
  1. Configure Heroku to use your Twilio credentials.
python configure.py --account_sid ACxxxxxx --auth_token yyyyyyy
  1. Open the app in your browser and get an invite!
heroku open

Development

Be sure to follow the configuration steps above and use this step-by-step guide to tweak to your heart's content.

  1. Install the dependencies.
make init
  1. Launch local development webserver
foreman start
  1. Open browser to http://localhost:5000.

  2. Tweak away on app.py.

Testing

This example app comes with a full testing suite with the same kind of form validation that you would want to use in production. To run the tests, simply use nose with this shortcut command:

make test

Anatomy

This app does have a little more complexity than our usual examples in an effort to be production-ready. Here's a quick rundown of all the important files:

  • local_settings.py - Contains all the configuration options for the app, including Twilio credentials and the URIs you want to which you wish to direct your mobile users.
  • app.py - The meat of the app. Contains all the logic for rendering the form, sending the invites, and redirecting mobile users.
  • tests - Test suite testing the web, Twilio and form validation functionality of this example.
  • templates - The gorgeous interface I surreptitiously from Andres.
  • static - Location of the styles for above.

Meta

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

Call your folks. They'd like to hear from you.

githalytics.com alpha