Skip to content

Instantly share code, notes, and snippets.

@kylefritz
Last active August 29, 2015 14:09
Show Gist options
  • Select an option

  • Save kylefritz/0d41c26297dd443e6b2d to your computer and use it in GitHub Desktop.

Select an option

Save kylefritz/0d41c26297dd443e6b2d to your computer and use it in GitHub Desktop.
Finish Betastore!

Finish Betastore!

  1. Customer facing Product List (with "Add to Cart" buttons)
  2. Controller test for Products#add_to_cart
  3. Cart Relations (many carts, each has many items)
  4. Storing cart in session. Check the Session Guidelines
  5. Modify the add_to_cart method to store the product in your cart. (Is it on the right controller?)
  6. Show a cart badge on every page to show how many items are in your cart
  7. Create a show page for your cart
  8. Total up the cost of the items in your cart (Taxes?)
  9. Implement remove item from cart

  1. Clear Session/Logout?
  2. Create order from cart
  3. Make an OrdersController
  4. Have the #new action show an empty form (maybe include an input to get the users email)
  5. Have the #create action create a new Order and copy each cart_item into a corresponding line_item
  6. Redirect the user to the #show action which shows the order that was just created
  7. How do we prevent "duplicate orders"?
  8. What happens to your shopping cart?
  9. Charge credit cards with stripe

Extra credit:

  1. What happens when we remove a product from the catelog?
  2. Implement "Certain items are not combinable"
  3. Add a flag to the product
  4. Implement "not combinable" as a cart validator
  5. Use gem paperclip to store product photos (store in aws s3)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment