Skip to content

Instantly share code, notes, and snippets.

@taryneast
Last active August 29, 2015 13:57
Show Gist options
  • Save taryneast/9480054 to your computer and use it in GitHub Desktop.
Save taryneast/9480054 to your computer and use it in GitHub Desktop.
WDI - Burning Airlines lab

Burning Airlines

#####Prerequisites:

  • Ruby
  • Rails
  • HTML
  • CSS
  • git
  • pivotal tracker
  • Multiple Models
  • TDD

##Summary: An Airlines Reservation System

###How to build this lab

  • Group yourself into teams since this is a big lab that will require a lot of planning.
  • first create a wireframe based on the project specs.
  • Use pivotal to create user stories covering each feature.
  • Write tests!
  • build the features to meet those test and the stories

#App Requirements

An admin can create planes on the /airplanes page.

A plan has a name, rows, and columns.

When a new plane is saved the page should show a seating diagram.

An admin can create flights on the /flights page.

A flight has a flight number, origin, destination, date, and plane.

When a new flight is saved, the page should show a list with the newest date at the top of the list and the number of available seats on the plane.

A user can search for flights on the /search page. The search page should have an input form for the origin and destination. When a user creates a search, the page should show a list of flights with the newest date at the top, and include the number of available seats on the flight.

When the user selects a flight, we should go to the show page ie, /flights/3. The plane show page should show a seating diagram with available seats and seats that have been selected, with their names.

A user can select a seat.

When a seat is saved, the available seats on the /flights page should update.

#Wireframe image

#Models There are models for Airplane, Flight, User, and Reservation.

An Airplane has many Flights and a Flight belongs to an Airplane.

A User has many Reservations and a Reservation belongs to a User.

A Flight has many Reservations and a Reservation belongs to a Flight.

The Reservation table is a join table between Users and Flights, which have a many-to-many relationship through Reservations.

The Airplane model has rows and columns to determine the configuration of the plane; the Airplane model has a row and a column for a particular seat.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment