Ye Olde Online Shoppe

Overview

This is a multi-day, agile development challenge that will require you to create an online store using Rails. You will work in frequent, small iterations. After each iteration, you will consult with a "senior engineer". This app will have a polished user interface and be fully tested.

Requirements

  • The role of the "senior engineer" will also be played by one of your dear instructors. The engineer will consult with you on testing, design decisions, or provide code review.
  • You will work in pairs and at some point you will switch code bases. (Say it with me: "I am not my code"). When you meet with your new pair, you will discuss which code base to move forward with. You will need to get your pair up to speed or get up to speed on each new-ish code base.
  • You will deploy each iteration to Heroku.

The iterations are provided below. After it is complete, you will meet with your "senior engineer" to receive further instructions from the client.

User Stories

  1. User can view all categories and items in store on home page
  2. User can create/edit/delete items
  3. Each item has an image

First Iteration

  • Write down user stories. Where would be a good place to document the user stories?
  • Whiteboard some mockups and page flows and add them to the documentation.
  • Whiteboard the data and schema you'll need to keep track of for this app to work and add that to the documentation.
  • Add functionality for managing products to the included Rails application skeleton. It'll be helpful to have a baseline where the client can enter products into the system, manage the products, and view them.
  • We will not need any authentication mechanism.
  • Please include styles for the website and image placeholders for the products
  • Have RSpec model, controller, and feature tests

Move through the the items above as quickly as you can, without much attachment. These are just a starting point. As we gather feedback and learn more about what it takes to develop the app, we want to be able to change these easily. 'Cause we're doing Agile.

Go Build! <3