Skip to content

Ruby on Rails application to sign up for mountaineering climbs with the Mazamas. Implements Devise, Stripe, Mapbox, and PostgreSQL. Deployed with AWS. Final capstone project at Ada Developers Academy.

alyssahursh/mazamas

Repository files navigation

Mazamas Climbs

Build Status

A Ruby on Rails web app to allow climbers to search and apply for Mazamas climbs, and to allow Mazamas climb leaders to browse applications and accept climbers on their outings. The goal was to create an applciation to replace an existing paper-and-mail process. Capstone project for classroom portion of Ada Developers Academy. Solo project built in 3.5 weeks. I gave a brief talk about this project at Amazon on January 27th, 2017 and at Seattle.rb on March 7th, 2017.

Desktop

Desktop screen shots

Mobile

Phone screen shots

Technologies

  • Primary language: Ruby 2.3.1
  • Framework: Rails 4.7.2
  • Database: PostgreSQL
  • Testing: Minitest
  • Continuous Integration: Travis CI
  • Map API: MapBox
  • Payments: Stripe
  • User Authentication: Devise
  • Deployed on AWS with EC2 and RDS
  • SSL Certificate through AWS

Entity relationship diagram

See the entity relationship diagram as a PDF here. ERD

Where can I interact with this web app?

Unfortunately, this web app is not currently running anywhere online. You'll have to download the repo and run a Rails server to interact with it locally. After downloading, run rake db:rebuild to seed the database. (The database seeds were scraped from two existing websites. See the scraper repo for more information on how the data was collected.)

To log in as a user, use climber10@mazamasclimbs.org or leader10@mazamasclimbs.org. The password for all test users is "password".

Completed user stories

  • Users can search the mountain database and get summit coordinates, elevation, and route information for any mountains the Mazamas climb. The mountain detail page shows a topo map of the mountain, zoomed in to the summit at a level based on the mountain's elevation.
  • Users can search the climb schedule for climbs they would like to apply for. They can apply to a climb by paying an application fee through Stripe.
  • Users can check their Mazamas membership status, and manage their membership renewal through Stripe.
  • Users can update their climb resume (and leader profile if applicable).

Project backlog

It's a long list. See the full Trello board

Learning Lessons

  • My biggest take away from working on this project was how much I prefer coding with a team. Working alone for 3+ weeks was tedious, and I didn't like being alone in my own head for that long. I found it very hard to talk myself out of allowing scope creep, and I struggled in being accountable only to myself. I would much rather work on components of a larger project with a partner or small team; to have someone else deep in the weeds with me. Code is meant to be written with others.
  • Paper processes seem inherently easy to replace with code, because it's easy to ignore all of the human decision-making that goes into moving paper around. This web application is designed to replace a single paper form and a basic table of climbs. Even 3+ weeks of work wasn't enough to code all the complexity baked into one paper form. I knew that going into the project, but I'm still surprised at how much work is left.

About

Ruby on Rails application to sign up for mountaineering climbs with the Mazamas. Implements Devise, Stripe, Mapbox, and PostgreSQL. Deployed with AWS. Final capstone project at Ada Developers Academy.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published