Project assignment1: Design of the website and the database.

Due Tuesday, Feb. 26 at 6pm in Elena's office

See the submission instructions.

The assignment consists of three parts:

  1. Designing a virtual business.
  2. Describing the functionality of a web site for this business.
  3. Designing the database behind the web site.

Part 1. Design of the virtual business.

For this part of the assignment you need to describe at least the following aspects of the business:
  1. What products and/or services does the business offer, the categories of products/services, approximate number of product titles in each category, what (approximately) is the product information that the customers will be able to access.
  2. Would the products be produced by the same people who maintain the web site, or they will be acquired elsewhere.
  3. What is the target audience of the web site: general public, or people who are interested in specialized products for their work or hobby.
  4. Will the web site provide membership, and if yes, which services will be restricted to members only. If there is a membership, what information will the customers need to provide to get a membership. Also, what optional information can they provide.
  5. How would the customers get their products: sent by mail or download. Would the customers be able to check on their order online?
  6. What kind of payment would you accept: major credit cards online, major credit cards by phone, checks, electronic cash/checks.
  7. What kind of customer support documentation will you offer, would it be free of charge, would it be accessible to everyone or only to registered users.
  8. What additional facilities will your web site offer: electronic forums, searchable customer feedback, mailing lists, etc.
You also need to choose the name of the business and the login name of the project group.

Part 2. The functionality of the web site

For this part of the assignment you need to describe:
  1. How will access to product information be oraganized: customers will be presented with the index of products, with a search engine, or with both. Also, what kinds of requests can the customers make (for instance, if your database offers clothes, will the customers be able to search by size, by category (men/women/kids), by kind (sweaters, jeans, etc.), by the label, by price range, by any combination of the above?)
  2. What will be the functionality of the shopping cart: would it be possible to select several products, specify quantity, buy only some of the products on the cart, and so on. You don't need to provide too much detail on this question, since we haven't covered shopping carts in detail yet
  3. What options will the order form provide? In which different forms a payment could be made?
  4. What other forms will the customers fill? For instance, you might have a feedback form, a form for checking on an order, a form to request e-mail updates about a product, or products, and so on.
  5. What other searches will be available for the customers? For instance, serach for manuals, for a FAQ entry, for customer's feedback, etc.

Part 3. The database behind the web site

Please draw out the schema of the database, including:
  1. All the database tables. Remember that your database stores information about every aspect of your web site (not only customers and products, but also orders, customer feedback, etc.)
  2. For each table column please specify: the name and the type of the column, whether the value can be null or not, and whether the values are required to be unique.
  3. For each table please specify which column (or columns) form its primary key.
  4. Please show all relations between columns, specify the type of the relations (one-to-one or one-to-many), and what is the foreign key by which the tables are related.
In addition, please give examples of SQL queries that will correspond to searches that your web site supports and to processing all forms: customer registration form (if it exists), order form(s), feedback form, etc.

A few things to keep in mind

  1. The three parts of the assignment are closely related, so you might several passes through each of the parts to put it all together.
  2. Don't try to be too ambitious in planning your virtual business. As much as you would want to have a lot of features, you have to keep in mind that it's you who will be implementing them later! So please try to create a minimum design that fits your virtual business. Even that will likely turn out to be much more than you would be able to implement!
  3. While you can't beat other web sites in terms of providing all possible features, you should still try to provide something unusal that will make your "web site" so intersting or so convenient to use, that the customers will be returning to it. Finding this something should be a focus of this assignment.

This page has been created and is maintained by Elena Machkasova
Comments and suggestions are welcome at

Spring Semester 2002