A free Twilio app to let Boston residents call their families while phone coverage is poor.
CSS JavaScript Python Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
static
templates
tests
.bowerrc
.buildpacks
.gitignore
.travis.yml
Gruntfile.js
LICENSE
Makefile
Procfile
README.md
app.py
bower.json
configure.py
local_settings.py
package.json
requirements.txt

README.md

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 

2) Install dependencies

make init

3) Navigate to folder and create new Heroku Cedar app

heroku create --stack cedar

4) Deploy to Heroku

git push heroku master

5) Scale your dynos

heroku scale web=1

6) Configure Heroku to use your Twilio credentials.

python configure.py --account_sid ACxxxxxx --auth_token yyyyyyy

7) 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

2) Launch local development webserver

foreman start

3) Open browser to http://localhost:5000.

4) 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