Scenario

PCs Direct will be starting business in the near future in direct competition to MSY Computers (http://www.msy.com.au). PCs Direct aims to provide the cheapest possible prices and best service to its online customers via their web site. You are to design and implement their new web site with functionality as described below. Note: you may use the data found at the MSY web site as a starting point for product information (and as an example of how not to design and structure a web site).

Required Functionality

The PCs Direct web application needs to cater for two main user groups:

  • Customers, and
  • PCs Direct Staff (for which there are 2 levels of access)

You will need to implement an appropriate authentication and access control system so that each of these user groups will be able to login to the PCs Direct system but once logged in will be given access only to the relevant interfaces and functionality for their role in the system. These roles are explained below:

The customers will need to be able to:

  • Easily find information on current stock (names, descriptions, prices, quantity on hand, images). You must implement at least two ways for customers to find such information.
  • Place an order for products that they have found on the site (ie, a shopping cart). Note: you do not need to implement a secure way of accepting and storing credit card details.
  • Register as a member of the site and Login as a member. Once logged in to the site members are given access to "member's only" specials. Members are also entitled to a loyalty rewards scheme. In this scheme members accumulate rewards points which are calculated as 5% of the total purchase price for each order. Members can claim the rewards points as discounts off their next purchase. Members need to accumulate 200 points before they can start to claim their rewards. Each 200 points will provide the member with a $10 discount (the percentage of total purchase price, the discount amount and the number of points required to claim the discount should not be hard coded in the system but be part of the database backend - see item 8 below). Note: The discounts can only be claimed in whole $10 amounts (ie, there are no "part" rewards or discounts).
  • Members need to be able to view their rewards points which will include a summarised history of their purchases that count toward the rewards.
  • Members need to be able to view previous orders. Members should be able to view all details of all previous orders that they may have placed with the company.

PCs Direct staff need to be able to:

  • Login as a staff member using an appropriate role which is based upon the functionality they are allowed to use. There are to be two levels of staff access. One, which gives access to all modules/functionality, the other giving access to reporting and invoicing modules only.
  • Maintain product inventory (this includes adding new products, deleting products, identifying specials for new and existing products (some specials available are for members only whilst others are available to all customers), modifying product information - for example, descriptions or prices may need to be changed or stock levels altered)
  • Maintain the loyalty reward points system. The staff need to be able to adjust the percentage of total purchase price, the number of points that need to be accumulated, and the discount amount.
  • Generate summary screen reports for the rewards points' scheme. These would show customer details, the total number of points available to them, points already claimed, and the date that the customer last placed an order. The staff member should be able to easily sort the results in alphabetical and reverse alphabetical order (based on surname of the customer), sort the results in numeric and reverse numeric order based on the rewards points available. Suburb and/or month of last purchase filters should also be able to be applied to the reports so that subsets of the overall report can be easily generated.
  • Maintain and process order information. This includes generating invoices for orders received via the online shopping cart. Note: the invoice should be designed so that it can be easily printed to be sent to the customer with the ordered products.

Obviously, customers/members are not allowed to access the staff areas of the site. Also, customers that are not logged in to the system should not have access to the features that are available for members. There are to be two levels of staff access. One, which gives access to all modules/functionality, the other giving access to reporting and invoicing modules only. Your authentication and access control must ensure this to be the case.

Your solution will need to be implemented in dynamic ASP.NET 4.0 pages where appropriate and static XHTML pages where appropriate. The design of the site is open to your creativity but must be of a professional standard and appropriate for the described scenario. Ensure that appropriate input validation controls are utilised such that both browser-side and server-side validation is performed as necessary for all user inputs.

Academic Honesty!
It is not our intention to break the school's academic policy. Posted solutions are meant to be used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly complete the form. Please provide a valid email address and we will get back to you within 24 hours. Payment is through PayPal, Buy me a Coffee or Cryptocurrency. We are a nonprofit organization however we need funds to keep this organization operating and to be able to complete our research and development projects.