Coder Social home page Coder Social logo

twilio-org / rapid-response-kit Goto Github PK

View Code? Open in Web Editor NEW
303.0 303.0 96.0 296 KB

This Twilio-powered Rapid Response Kit gives you the elements to build and deploy communications apps quickly and easily.

Makefile 1.39% Python 69.58% CSS 1.97% HTML 27.06%

rapid-response-kit's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rapid-response-kit's Issues

Install Error on Heroku

I've tried installing with the Heroku button and through the Heroku CLI from a local copy, but I get this error and it fails to compile.

     > 
      Python app detected
     -----> Installing python-2.7.13
     -----> Installing pip
     -----> Installing requirements with pip

----------------------deleted successful requirement installs-------------------------

     Running setup.py install for twilio: started
       Running setup.py install for twilio: finished with status 'error'
       Complete output from command /app/.heroku/python/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-gcj6ra/twilio/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-aGfXnN-record/install-record.txt --single-version-externally-managed --compile:
       Traceback (most recent call last):
         File "<string>", line 1, in <module>
         File "/tmp/pip-build-gcj6ra/twilio/setup.py", line 58, in <module>
           License """ )
         File "/app/.heroku/python/lib/python2.7/distutils/core.py", line 111, in setup
           _setup_distribution = dist = klass(attrs)
         File "/app/.heroku/python/lib/python2.7/site-packages/setuptools/dist.py", line 321, in __init__
           _Distribution.__init__(self, attrs)
         File "/app/.heroku/python/lib/python2.7/distutils/dist.py", line 287, in __init__
           self.finalize_options()
         File "/app/.heroku/python/lib/python2.7/site-packages/setuptools/dist.py", line 387, in finalize_options
           ep.require(installer=self.fetch_build_egg)
         File "/app/.heroku/python/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2324, in require
           items = working_set.resolve(reqs, env, installer, extras=self.extras)
         File "/app/.heroku/python/lib/python2.7/site-packages/pkg_resources/__init__.py", line 859, in resolve
           raise VersionConflict(dist, req).with_context(dependent_req)
       pkg_resources.VersionConflict: (six 1.5.2 (/tmp/build_42e3afdd5bea3f3af5a97e37d966cd01/Twilio-org-rapid-response-kit-e8fe503/.heroku/python/lib/python2.7/site-packages), Requirement.parse('six>=1.6.0'))
       
       ----------------------------------------
   Command "/app/.heroku/python/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-gcj6ra/twilio/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-aGfXnN-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-gcj6ra/twilio/
     !     Push rejected, failed to compile Python app.
     !     Push failed
     ----->

Docs: Which countries can this be used in?

It's unclear to me if this project can be set up to service any area or if it is limited by areas covered by Twilio (or some other service it integrates with).

For example, are docs such as these relevant?

I'm in a situation where I'm quickly evaluating tools to help islands in the Caribbean affected by hurricanes Irma and Jose, mainly Sint Maarten, and it's unclear from a scan of the docs if this is a tool that I can use in that area.

"Ringdown" Function Template

A common need for event organizers is to provide a hotline for attendees to call which will dial a list of organizers' phone numbers until one of them picks up. Create a Function which loads a list of comma separated phone numbers, in E.164 format, from an environment variable RINGDOWN_PHONE_NUMBERS. When a call comes in, create TwiML which dials each number in the list until a call is connected. Provide a <Say> fallback in the case no call is connected.

Controlling Access To RRKit

Maybe this should be a wiki article, but what is the recommended configuration inside heroku, or even locally, to control access to the RRKit in production?

"Subscribe and Broadcast" SMS Function template

A common need for organizations is to have a phone number (or numbers) set up to allow interested parties to subscribe for SMS notifications, and a way for organizers to broadcast to the entire group. With Twilio Notify, this becomes even simpler. Proposed template:

  • A keyword response function that accepts by default two commands
  • subscribe - subscribe for notifications from administrators
  • broadcast <message> - send a message to all subscribers
  • If neither command is given, an informational message is provided

The broadcast command can only be used by a preconfigured list of administrator phone numbers. The list of numbers should be comma separated, E.164 formatted, and stored in an environment variable BROADCAST_ADMIN_NUMBERS.

Broadcast number cap

Hey!

I use the broadcast feature regularly and wondered if there is a cap on the number of numbers that can be used per-broadcast.

Python 3 support

As the travis yaml definition states Python3 support is not there yet, lets ticket it.

This could be tiny, but it could be larger. I don't know yet

"Remote Data Collection" IVR Template

A frequent need for organizations doing field work is collecting data when using web or mobile apps is impractical or impossible, but mobile connectivity is still available. Create a Function template that will take a JavaScript object literal configured with survey questions, and sequentially take the user through completing the survey via IVR.

Persistence should be Twilio Sync or cookies as needed. Survey responses in Sync should minimally include the responses to any questions asked and a timestamp. Speech responses should store recording and transcriptions of the responses.

An example survey config object might look like:

const questions = [
  {
    question: 'Does anyone near you require medical attention?',
    type: 'boolean'
  },
  {
    question: 'How many people require medical attention?',
    type: 'number'
  },
  {
    question: 'Is there anything else first responders should be aware of?',
    type: 'speech'
  }
]

Additionally, it should be possible for administrators to visit a web page to visualize the results of the survey in tabular form, and play back recordings of voice responses. We should create an Asset HTML page which will use Sync to pull survey results and display them.

Unable to update number - Survey

When using the survey module after adding parse api keys I get a Unable to update number. Do you have any more details on what that error is?

Error deploying to Dokku

Dokku is a self-hosted heroku...


remote: App container failed to start!!
=====> rapidresponse web container output:
       2017-07-26 19:19:23 [12] [INFO] Starting gunicorn 18.0
       2017-07-26 19:19:23 [12] [INFO] Listening at: http://0.0.0.0:5000 (12)
       2017-07-26 19:19:23 [12] [INFO] Using worker: sync
       2017-07-26 19:19:23 [141] [INFO] Booting worker with pid: 141
       2017-07-26 19:19:23 [141] [ERROR] Exception in worker process:
       Traceback (most recent call last):
         File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/arbiter.py", line 495, in spawn_worker
           worker.init_process()
         File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/workers/base.py", line 106, in init_process
           self.wsgi = self.app.wsgi()
         File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/base.py", line 114, in wsgi
           self.callable = self.load()
         File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py", line 62, in load
           return self.load_wsgiapp()
         File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py", line 49, in load_wsgiapp
           return util.import_app(self.app_uri)
         File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/util.py", line 354, in import_app
           __import__(module)
         File "/app/rapid_response_kit/app.py", line 5, in <module>
           from rapid_response_kit.tools import (
         File "/app/rapid_response_kit/tools/volunteer_signup.py", line 4, in <module>
           import gdata.docs.data
         File "/app/.heroku/python/lib/python3.6/site-packages/gdata/__init__.py", line 27, in <module>
           import atom
         File "/app/.heroku/python/lib/python3.6/site-packages/atom/__init__.py", line 133, in <module>
           CreateClassFromXMLString)
         File "/app/.heroku/python/lib/python3.6/site-packages/atom/__init__.py", line 97, in mark_deprecated
           optional_warn_function.func_name = f.func_name
       AttributeError: 'function' object has no attribute 'func_name'
       Traceback (most recent call last):
         File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/arbiter.py", line 495, in spawn_worker
           worker.init_process()
         File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/workers/base.py", line 106, in init_process
           self.wsgi = self.app.wsgi()
         File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/base.py", line 114, in wsgi
           self.callable = self.load()
         File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py", line 62, in load
           return self.load_wsgiapp()
         File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py", line 49, in load_wsgiapp
           return util.import_app(self.app_uri)
         File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/util.py", line 354, in import_app
           __import__(module)
         File "/app/rapid_response_kit/app.py", line 5, in <module>
           from rapid_response_kit.tools import (
         File "/app/rapid_response_kit/tools/volunteer_signup.py", line 4, in <module>
           import gdata.docs.data
         File "/app/.heroku/python/lib/python3.6/site-packages/gdata/__init__.py", line 27, in <module>
           import atom
         File "/app/.heroku/python/lib/python3.6/site-packages/atom/__init__.py", line 133, in <module>
           CreateClassFromXMLString)
         File "/app/.heroku/python/lib/python3.6/site-packages/atom/__init__.py", line 97, in mark_deprecated
           optional_warn_function.func_name = f.func_name
       AttributeError: 'function' object has no attribute 'func_name'

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.