Giter Club home page Giter Club logo

early-childhood-finder-sms's Introduction

What is this?

This is an SMS interface for finding child care centers in Somerville, MA. Its purpose is to enhance the Somerville Early Childhood Hub, a place to find resources for young children & their families in Somerville.

Here's what the app looks like in action:

SMS interface: "Hello! Text me an address in Somerville and I'll send you nearby early child care locations. Example: '93 Highland Ave'."

We heard from the wonderful staff behind the Hub that they have often talked about making childcare locations available via SMS, but didn't know how to make that happen. We built this for them during CodeAcross 2015.

What inspired this?

This app is essentially a Ruby implementation of the Chicago Early Learning Portal's SMS feature. Love to Scott Robin, Dan O'Neil, Derek Eder, the contributors, and everyone else who built Chicago's Portal.

Looking at mRelief, a Chicago-based SMS intake form, was very helpful in figuring out how to structure the Twilio-related code. Thank you Genevieve Nielsen and Rose Afriyie!

Where's the data from?

The initial data behind the map comes from Code for Boston, specifically the child-care-finder-data & child-care-finder repos. Code for Boston in turn got the data from the the Mass. Dept. of Early Education & Care (see codeforboston/child-care-finder#2).

What's the tech?

This is a Sinatra app backed by Twilio.

Installation

Clone the directory: [email protected]:codeforamerica/early-childhood-finder-sms.git

Install the gems: bundle install

You'll need to set up a Twilio account with an SMS-enabled phone to make the app work. As of 2015 this costs $1.00/month plus ¢.75 per text sent/received. Not so bad.

Once you have the account set up, create an env.rb file that defines these values for your app:

ENV['TWILIO_SID']             = '????'
ENV['TWILIO_AUTH_TOKEN']      = '????'
ENV['TEST_TWILIO_SID']        = '????'
ENV['TEST_TWILIO_AUTH_TOKEN'] = '????'
ENV["TWILIO_PHONE"]           = '????'

If you want the app to respond to texts, you'll need to expose a URL on the internet. localtunnel is a handy tool for exposing your local development machine in order to test. You will want to configure your Twilio number to the URL that localtunnel generates for this to work.

In the medium run, you'll want to host the app on a server that doesn't shut down when you turn off your computer: see Deploying Rack-based Apps for how to deploy a Sinatra app to Heroku.

Last and most important, there's the child care location data. This app reflects Somerville early child care locations; you will probably want yours to reflect somewhere else. Turn your data points into CareCenter objects, and the Geocoder gem will automatically attempt to geocode based on their :address.

The initial Somerville data from this app came from a .csv file (see Rakefile for import task).

What's the status?

As of CodeAcross weekend, this SMS feature is an experiment. It painfully, desperately, achingly needs user research and testing.

The user research might reveal that this is not a good solution at all for Somerville parents, in which case we will ditch it entirely. Such is the fate of a hackathon project:

Built on Saturday,
Demoed Sunday afternoon,
What does Monday hold?

How can I try it out?

As of CodeAcross weekend (Feb 21-22 2015) you can text "hello" (or any other word really) to 617-206-1937.

Related projects

early-childhood-finder-sms's People

Contributors

alexsoble avatar

Watchers

iapilgrim avatar  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.