« back to Projects



#Ohana API

Build Status

This is the API + Admin Interface portion of the Ohana API project, an open source community resource platform developed by @monfresh, @spara, and @anselmbradford during their Code for America Fellowship in 2013, in partnership with San Mateo County’s Human Services Agency. Ohana makes it easy for communities to publish a database of social services, and allows developers to build impactful applications that serve underprivileged residents.

Before we started working on the Ohana API, the search interface that residents and social workers in San Mateo County had access to was the Peninsula Library System’s CIP portal. As a demonstration of the kind of applications that can be built on top of the Ohana API, we developed a better search interface - (repo link) that consumes the API via our Ruby wrapper.

Stack Overview

  • Ruby version 2.1.1
  • Rails version 4.1.4
  • Postgres
  • Testing Frameworks: RSpec, Factory Girl, Capybara


You can see a running version of the different parts of the application here:

If you’d like to play around in the application, see db/seeds.rb for a list of usernames and passwords you can sign in with.

Current Status

We are happy to announce that this project has been awarded a grant from the [Knight Foundation], which means we get to keep working on it in 2014! Our primary goals this year are: simplifying the installation process, streamlining the code, reducing dependencies, and preparing the project for broader installation by a variety of organizations and governments.

Data Schema

If you would like to try out the current version of the project, please read the Wiki article about populating the Postgres DB from a JSON file. That article documents the current schema and data dictionary, but please note that this will be in flux as we are working with various interested parties to define a Human Services Data Specification.

API documentation



By default, this project uses the Open Eligibility taxonomy to assign Services to Categories. If you would like to use your own taxonomy, feel free to update this rake task to create your own hierarchy or tree structure. Then run rake create_categories.

The easiest way to assign categories to a service is to use the Admin interface. Here’s a screenshot:

Editing categories in Ohana API Admin

Apps that are using the Ohana API

Deploying to Heroku

See the Wiki.

Local Installation

Follow the instructions in INSTALL.md.

Running the tests

Run tests locally with this simple command:


To see the actual tests, browse through the spec directory.


We’d love to get your help developing this project! Take a look at the Contribution Document to see how you can make a difference.

Supported Ruby Version

This library aims to support and is tested against Ruby version 2.1.1.

If something doesn’t work on this version, it should be considered a bug.

This library may inadvertently work (or seem to work) on other Ruby implementations, however support will only be provided for the version above.

If you would like this library to support another Ruby version, you may volunteer to be a maintainer. Being a maintainer entails making sure all tests run and pass on that implementation. When something breaks on your implementation, you will be personally responsible for providing patches in a timely fashion. If critical issues for a particular implementation exist at the time of a major release, support for that Ruby version may be dropped.

Copyright (c) 2013 Code for America. See LICENSE for details.