Skip to content

nixsiow/Burning_Airline_WDI4

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

97 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#Burning Airlines Lab

##Summary: An Airlines Reservation System


#Requirements Checklists

  • An admin can create planes on the /airplanes page.

  • A plane 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.


#Gems Gems for debugging

  • gem 'pry-rails'
  • gem 'pry-debugger'
  • gem 'pry-stack_explorer'
  • gem 'better_errors'
  • gem 'binding_of_caller'
  • gem 'annotate'
  • gem 'sextant'

To allow user sign up / logins

  • gem 'devise'

To prevent mass assignment to attributes not explicitly allowed

  • gem 'protected_attributes'

underscore javascript library

  • gem 'underscore-rails'

To annotate our models

  • gem 'annotate'

Bootstrap ! For styling.

  • gem 'bootstrap-sass'

Modernizr gem

  • gem 'modernizr-rails'

Backbone gem

  • gem 'rails-backbone'

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •