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 demo the app to the "client" and consult with a "senior engineer". This app will have a polished user interface and be fully tested.
- There is no starter repo, you are responsible for creating a git repo, following proper git workflow, and pushing code to github.
- The role of the "client" will be played by one of your dear instructors. You will demo your app to the client after each iteration. The "client" will describe what they need and inform your decisions about what the next iteration of the app should be.
- 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 first two iterations are provided below. After they are complete, you will meet with your "client" and your "senior engineer".
- 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 you'll need to keep track of for this app to work and add that to the documentation.
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.
You've consulted with the "senior engineer", and based on the consultation have decided that the best first iteration to demo to the client is an app with functionality for managing products. It'll be helpful to have a baseline where the client can enter products into the system, manage the products, and view them.
The senior engineer also tells you that you'll need to create our new Rails project with a Postgres database instead of the default SQLite3 database, because we won't be able to deploy a Rails app with a SQLite database to Heroku.
Go Build! <3