Books Unlimited Inc.

Your term project is to design and implement an online e-business system for our imaginary client Books Unlimited. This document provides a high-level description of the project and outlines the deliverables expected of your team. Given the imprecise nature of this description, it is the responsibility of your team to come up with a proper specification. It is crucial that you have a good solid design before you start coding.

Project Description

Books Unlimited is a mail order discount bookstore that deals with new and used books. Recently, they decided to provide services over the web and they have enlisted your team to design and implement an internet book shop for them. Books Unlimited expects the following features in their internet store:
  • Users: They are 3 classes of users - customers, system operators and administrator:
    • Customer is any person visiting the Books Unlimited website and can be registered or anonymous. If the customer is not registered, an account should be provided to them when they enter a business transaction.
    • Operator accounts are used to manage different parts of the website. The administrator creates these accounts and assigns privileges to them.
    • Administrator account can be used to control and monitor operations of the Books Unlimited online system. The account has unlimited powers and can perform or override any action within the system. The administrator also defines privileges through which power is delegated to operators/customers. Each privilege has a name, set of users (operators/customers), and a set of authorized operations associated with it. The administrator can modify or destroy existing privileges.

  • Buying Books: The web store should allow any user visiting the website to browse/search the book catalog and make purchases online using a credit card. Shipping options are ground, express, and next day air. Free ground shipping is provided if the total value of the purchase is more than 50 dollars. Registered users should also be able to add books of interest in a wish list.

  • Selling Books: Registered customers should be able to list and sell their used books using the web store. In return for this service, Books Unlimited will charge a 5% service fee on the total value of the transaction. Sellers can be rated and reviewed by buyers that purchased books with them.

  • Catalog Management: The book catalog should be maintained using a separate adminstrative account, which is used to, among other things, add a new book, modify/delete an existing entry etc. The administrative account shall also have moderator privileges that allows user ratings and reviews to be modified or deleted.

  • Supplier Management: Books Unlimited plans to use the web store to to manage store inventory and order books from suppliers.

Things To Keep In Mind

  • Facility should be provided for bulk upload of book/user entries into the system.
  • The system is a typical client-server application with a web-based front-end for the user and a database backend.
  • You are free to choose the tools for this project (i.e PHP/Perl/ASP/Servlets/Oracle/MySQL/Postgres etc.) The website need not be fancy, just functional.
  • Check out chapters 6 and 7 (part II) in your textbook. It covers application development in a database context.

Deliverables

This project is worth 30% of your final grade. The following deliverables are required and should be submitted using CourseTool when appropriate.
  1. Design Document (Due by Monday, October 16, 2006 @ 9 PM) This will include a precise description of the project as you understood it, the complete ER diagrams outlining the database schema, and the tools and technologies that you intend to use for the project. You should also provide a short demo of the tools that you plan to use.
  2. Status Report (Due by Friday, November 10, 2006 @ 9 PM): This report will summarize the progress your team has been making (including a listing of specific contributions of each team member).
  3. Final Project Demo (Due by Friday, December 8, 2006 @ 9 PM): You will come up with a summary report which outlines your learning experience in the project and identify changes/modifications to the design. Both team members will meet with Subi at a specific time (TBA) for a demo of the project.

Help

If you have any questions, email Subi. Emailed questions might be included in a project FAQ (available on the class website soon).