Group Project Overview

The final project for this class will consist of a large group project to develop a functioning web application using Rails. Groups will be of 2-3 students, with the expected amount of work proportional to the number of students in the group. What the web application does is up to you. In the past, students have implemented grade tracking systems, microblogging systems, ride sharing annoucement systems, a reviews site (like Yelp), and rudimentary social networking sites. Be modest, but keep it interesting.

Project Requirements

While the topic of the project is up to you, there are some contraints to make sure these projects are non-trivial. Each project must include:

  1. At least 2 controllers
  2. Authenticated user accounts if that makes sense. It might only make sense for administrators; that’s OK. Or you might want everyone to have an account. Its up to you.
  3. Form validation for at least one of the forms used for data input
  4. Long-term storage of relevant data in models
  5. Multiple different ways of viewing the data
  6. Documentation: All code must be appropriately documented. In addition, there should be a workflow.txt file in the doc/ directory that describes typical use cases.

Specific Assignments

There are four assignments related to this project. First, the group must submit a project proposal and a plan for how this will be implemented and tested. Second, one piece of the project must be implemented early. This is the first project milestone – a functioning piece of the project that is done early. Once the project is (mostly) finished, everyone will be expected to give a demonstration of the working application to the whole class. And finally, once everything is completed, the final project must be turned in for grading.