« back to Projects



#Ohana Web Search

Build Status Coverage Status Dependency Status Stories in Ready

Ohana Web Search is one of two Rails apps that come out of the box with the Ohana API platform. The other app is an admin interface that allows people to update the data. Both apps also serve as examples of what can be built on top of the social services data that the Ohana API exposes.

This project was developed by Code for America’s 2013 San Mateo County, CA, fellowship team. Thanks to a grant from the Knight Foundation, @monfresh, @spara, and @anselmbradford will continue to push code in 2014.

Ohana Web Search aims to make it easy to find available services in a community, and to provide as much pertinent information as possible, such as travel directions, hours of operation, other services residents in need might be eligible for, etc. You can see a live example for services in San Mateo County, CA, here: http://smc-connect.org

We gladly welcome contributions. Below you will find instructions for installing the project and contributing.


You can see a running version of the application at http://ohana-web-search-demo.herokuapp.com/.

Stack Overview

  • Ruby version 2.1.1
  • Rails version 4.0.4
  • Template Engines: ERB and HAML
  • Testing Frameworks: RSpec, Capybara, capybara-webkit

Deploying to Heroku

See the Wiki.

Local Installation

Follow the instructions in INSTALL.md.

Adjusting the number of results per page

The Ohana API now supports the ability to set the number of results you want returned per page via the per_page parameter (with a maximum of 100). So, if you want to test the layout of the results page with a certain number of results, just add something like &per_page=5 to the end of the URL.

Running the tests

To test locally, you can run tests with this simple command:


To configure the way RSpec displays test results, create a file called .rspec in the root directory, and add the following to it:

--format documentation

The --color option allows you to see passing tests in green and failing ones in red. Otherwise, by default, you would just see a series of dots for passing tests, and the letter “F” for failing ones.

Parameters for the --format option are: progress (default - shows a series of dots), documentation, html, or textmate. More information can be found on the RSpec website.

For faster tests (optional):

gem install zeus
zeus start #in a separate Terminal window or tab
zeus rspec spec

Read more about Zeus.

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.