Building a new system

This homework assignment is the first part of a multi-part project that you will be working on. This assignment will be a partner project that you will work on with a partner.

The system you will build

The system we are going to construct over the next few assignments is a back end to support a freecycling program. This is a program in which members can offer to give away household goods that they no longer need to other members of the program. Some examples that users may wish to donate include childrens' clothes or toys that children have outgrown, or other household items.

One of the features that the organization sponsoring this program offers is safe transfer sites. These are safe public locations in the community where a donor and a recipient can meet to transfer an item.

The system you build needs to support the following activities:

First homework assignment

For this first assignment your job is to construct the database for your application and write out a list of methods that your API will support.

In addition, I am going to ask you to write out a number of "user stories". These are short written outlines that explain how users will use your system to accomplish their goals with the system. Each user story should contain a narration that explains what the user is trying to accomplish and the steps they will carry out to accomplish that goal. At each point in the story that your users needs to interact with your system you should specify the combination of HTTP method and URL the user will use to carry out that step. For this assignment you should write a user story for each of the activities listed above.

In a later assignment you will be building out the system. The purpose of this first assignment is to allow me a chance to review your database and API design and give you feedback on your design before you start work on the project.