Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Code we created at the Sept 19th Meeting
Ruby JavaScript
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.

I Love Lamps - A Sample Sinatra App

I Love is a simple store for buying lamps of all kinds. You can see which lamps are available, view details about a particular lamp, and if you like, purchase a lamp.

TODO / Feature List

  • Show Available Lamps on the front page
  • Simple Header with Logo
  • Simple Page to Show Lamp Details
  • Abstract Lamp into a Model
  • Add critical info about the lamps: price, picture
  • Add color variable to Lamp class and display on Lamp page.
  • Create form to Buy Lamps
  • Process Purchases on the Server (decrement quantity)
  • Create Order Confirmation Page
  • Resize the logo to fit the header.
  • Add "back" links to Details and Buy pages.
  • Don't let someone try to order if there are 0 lamps in stock.
  • Create a "database" abstraction instead of a global array.
  • Show error message if out-of-stock race condition occurs.
  • Add "Restock Lamps" page under secret admin route: /admins/restock/:lamp_id
  • Add Lamp Images to the Index and Buy page as Thumbnails
  • Add Lamp Accessories: bulbs
  • Track quantity of lamps sold per day. Show on /admins/sales
  • Collect user information: Name, Email, Favorite Movie involving Lamps, Shipping Address
  • Apply Bootstrap to the site. Create better nav bar. Center page.
  • Add "Sale" item to front page. Special emphasis with pitch.

Javascript Intro

  • Show basic Chrome js console
  • Show console logging.
  • Demo "getElementById() and getElementbyClass()"
  • Download jQuery & embed in layout
  • Demo $('#foo') and $('.bar')
  • Create buy page & form
  • Add quantity & total fields
  • Subtract quantity on server
  • Dynamically update total on.('change')
Something went wrong with that request. Please try again.