Cara Kane


Software Developer

Portfolio Project 3: Volunteer Manager

Our third Flatiron portfolio project is a complete Rails application. My project, Volunteer Manager, is an application that allows users to assign volunteers to volunteer opportunities at their organizations. From a user’s perspective, the app is fairly straightforward: they are able to create a password-protected account or sign in via Facebook. They then add to their account the organizations under their purview and the opportunities available at those organizations. The opportunities use days of the week as a basic availability measure. Volunteers can be added to a sitewide database and share the same availability measure. Users can view all the volunteers and can then assign one available on the same day as their opportunity.


Sinatra Portfolio Project: Garden Record

For my Sinatra portfolio project I made a garden record, which tracks plants and planting locations. Once a user has made a password-protected account, they can create custom planting locations and plants, and then associate those and view them all or individually. Reflecting on this project, I have three primary thoughts.


Testing with Capybara

As we’ve gotten farther into our exploration of Sinatra, many of the tests have been written using Capybara. The Capybara gem allows us to formulate tests that mimic how a user interacts with the DOM. These are known as “integration tests.” This adds a lot of functionality to our testing abilities because instead of just testing what is literally in the code, we can also test what the code actually creates. Capybara tests can mimic filling in forms, clicking buttons, navigating to pages, checking and unchecking buttons, and other user actions.


NPR News Headlines --- My CLI Data Gem Project

I toyed with several different ideas before I began my CLI Data Gem project, and eventually I decided to make an NPR News Headline scraper.


On Patience (and Hubris)

How much has been written on the virtues of patience? I strive for patience in all the obvious ways: checkout lines, waiting rooms, and poky drivers come to mind. We’ve all had our patience tested by these external forces, but programming has made me realize in a visceral way that another important avenue for our patience is internal.