Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

36       -    Sort search results by title, author, most popular (the total number of times it’s been bought), newest firs...
78        -    Before the order is finalized, the customer should see a summary of their entire order. The customer can th...
116   Disable/enable customer account – A customer with a disabled account cannot log in and receives the appropriate mess...
148       a.   Free shipping for orders above $X. The manager also has an option to give free shipping for all orders, no ...
185                   The price defaults to whatever price was paid to the supplier the last time that book was ordered....
226       c.   All customers – identical to (a), except grouped by customer. Sorting options : profit margin (ascending an...
Upcoming SlideShare
Loading in …5

MIS 333K Web Application Development Team Project Specifications


Published on

MIS 333K Web Application Development Fall 2008 at The University of Texas at Austin - Specification for team project

Published in: Education, Technology, Business
  • Be the first to comment

  • Be the first to like this

MIS 333K Web Application Development Team Project Specifications

  1. 1. FALL 2008 MIS 333K SYSTEM PROJECT : SAFARI BOOKS 1 VERSION 1 | LAST UPDATED MONDAY, OCTOBER 20 2 BACKGROUND 3 4 Safari Books, the world’s not-quite-largest collection of literature, has enlisted your team to implement a system for their new 5 website. A recent tornado devastated their IT system. Unfortunately, Safari did not have a disaster recovery plan and therefore 6 did not back up anything. Safari would like a brand-new online system so that they can regain the market share they have lost to 7 Tundra Books. They are offering a $1000/member cash prize to the team who develops the best system. 8 The system consists of a Customer, Employee, and Manager Side. Customers can search, buy, and review books. Employees 9 manage customers and the reviews they write. Managers are in charge of managing books, managing promotions placing book 10 orders to the supplier, and generating reports. 11 If desired, you may use JavaScript, AJAX, and/or Flash to enhance your site. Karen Cheng, the CIO, will be your chief contact for 12 questions. Rick Byars, the CEO, will have final say on everything. The discussion board will be the official medium for 13 communication. CUSTOMER 14 15 A customer logs in with his email and password. Log in is required to see all customer pages except create account and find 16 books. Upon successful login, the customer should see a welcome message with his or her name. If the customer tries to do any 17 other actions besides create account and find books, they should be prompted to log in or create an account. CREATE ACCOUNT 18 19 - Email, Password, First and Last Name, Address, Phone Number are required. City/State are automatically generated 20 based on Zip Code. MODIFY/MANAGE ACCOUNT 21 22 - View account information 23 - Modify First and Last name, Email, Address, and Phone Number. 24 - Change password – requires verification by entering in the old password 25 - Add credit cards (up to 3 maximum credit cards per customer) o Allowed types are Visa, American Express, Discover, and Master Card 26 o Credit cards are 16 digits, except for American Express, which is 15 digits 27 BOOK SEARCH 28 29 - Search books by title, by author, and by unique number (used instead of ISBN for the convenience of not typing out so 30 many digits) o For title and author, customers have an option to do a partial search or keyword search 31 o There is also an option to show all books 32 o Search results should have the following information: Title, Author, Unique Number, whether the item is in 33 34 stock, Rating o For all queries, display a record count 35 Page 1 of 7
  2. 2. 36 - Sort search results by title, author, most popular (the total number of times it’s been bought), newest first, oldest first 37 (based on publication date), highest rated 38 - Filter to see only items in stock 39 Clicking on the book in the search result will bring you to details for that book, which has all of its information (Title, Author, 40 Unique #, Price, Publication Date), along with discount price (if applicable – see Managers > Promotions), an option to add the 41 item to the cart, an option to add the item to the wish list, reviews/rating, and an option to review the book. If the item is 42 already in the customer’s cart, the customer will see a message on the page informing them of such. 43 On the customer side, no information about book procurement or profit margins should ever be available. BUY BOOKS 44 SHOPPING CART 45 46 - Customers navigate to a book detail page, which allows them to add the book to the shopping cart. Books that are out 47 of stock cannot be added to the shopping cart, but could be added to the wish list. 48 - The shopping cart is automatically saved for the users. If the customer logs out and logs back in later, all the items in 49 the shopping cart should be preserved. 50 - Customers can change the quantity of books, delete them, or move them to the wish list. o Customers cannot add a quantity greater than the number in stock 51 52 - If something changes in the shopping cart since it’s been added… o Books remain in the shopping cart until the customer removes them. The shopping cart should always reflect 53 54 current prices – so if the price of the item changes after it was added into the cart, the price that customers 55 should see should be the current one. o If a book was added to the cart while it was in stock but then goes out of stock, the customer should see a 56 57 message that the item went out of stock and was added to their wish list. o If a book has been discontinued since it was first added to the cart, the customer should see a message that the 58 59 item has been discontinued and removed from the cart. Customers only need to see this message once – the 60 first time they visit their cart after the item is discontinued. 61 - Item discounts are automatically applied to items in the shopping cart, and the customer should see an appropriate 62 message about the promotion. Coupon codes are not automatically applied and must be entered at checkout. 63 - The subtotal and total (which is the subtotal + shipping) for the order should be displayed in the shopping cart. o Customers do not have to pay sales tax. 64 o Shipping price is $3.50 for the first book, and $1.50 for each additional book. 65 CHECK OUT 66 67 - Customers should not be able to check out if they have an empty shopping cart 68 - When the customer goes to check out, he selects his payment method o Customers have the option to add credit cards from the checkout page. 69 70 - For sake of simplicity, you do not have to keep track of multiple addresses – orders will be shipped to the address in the 71 customer’s profile. 72 - You may also assume that between the time the customer begins the checkout process and when he places the order, 73 the books in the order will not go out of stock. When your system is tested, only one order will be placed at a time. 74 - Customers have the option to enter in a coupon code. o Once the customer enters in the coupon code, the system should update the prices to reflect the promotion. If 75 76 the coupon code is invalid, disabled, or not applicable to the order, the customer should receive a message that 77 the coupon code is not valid. Page 2 of 7
  3. 3. 78 - Before the order is finalized, the customer should see a summary of their entire order. The customer can then finalize 79 the order by hitting the “Place Order” button. o Only the last 4 digits of the credit card should show on this page. All other digits should be hidden with an 80 81 asterisk 82 - If at any point the customer starts checkout out but does not finish (i.e. closes the window), you do not have to preserve 83 where in the checkout process the customer left off, but you should keep the items in the cart. 84 - When the order is placed, the appropriate items should be removed from the shopping cart. 85 - This system does not encompass the shipping process. Assume that once an order is placed, it is instantly and 86 automatically shipped. EMAIL 87 88 - They system will send messages to the customer’s email address. 89 - Customers do not need to be able to send each other messages or respond to messages 90 - Customers get messages when: o They create an account 91 o They place an order (include the information about the order) 92 o They change their password 93 o An item in their cart or wish list is discontinued (include the book title/author) 94 95 - Include your team number in all emails for ease of grading RATE AND REVIEW BOOKS 96 97 - Customers can review books. If writing a review, the customer must include a rating on a scale from 1-5. Reviews are 98 limited to 100 characters. 99 - They are not limited to rating books that they have purchased. 100 - Reviews must be approved by an employee before they show up on the website 101 - Book ratings are a simple average of approved customer ratings. They should be carried out to 1 decimal place (e.g. 4.3, 102 3.2) 103 - A customer can only review a book once, and cannot change their review or rating once it has been submitted. VIEW ORDER HISTORY 104 105 Customers can see a list of all orders they’ve placed, most recent first. Includes all information about the order (except only the 106 last 4 digits of the credit card # should show – all other digits should be replaced with an asterisk) 107 This system does not keep track of the shipping status of an item – assume that an item is shipped and delivered as soon as the 108 order is placed. EMPLOYEE 109 110 Employees log in with their empID and password. MODIFY EMPLOYEE ACCOUNT 111 112 Employees can modify their address, phone number, and password only. Changing the password requires entering in the old 113 one again MANAGE CUSTOMERS 114 115 Create and modify customers – same functionality as the customer side. Page 3 of 7
  4. 4. 116 Disable/enable customer account – A customer with a disabled account cannot log in and receives the appropriate message 117 when trying to log in. All information is preserved, so if the employee re-enables the account, everything for that account is back 118 to normal. BOOK SEARCH 119 120 Employees should be able to search books just like the customer can. The only difference between employee side and customer 121 side searching is: 122 Employees do not need the option to add the item to the cart, add the item to wish list, or have an option to review the book 123 (but they must be able to see the reviews). APPROVE/REJECT REVIEWS 124 125 Employees see a list of all reviews pending approval. They can approve or reject each review. Approved reviews instantly 126 appear on the website, and the book rating is updated. MANAGER 127 128 All functionality of regular employees, plus: CREATE AND MANAGE PROMOTIONS 129 130 Promotions can be any of the following: GENERAL PROMOTION RULES 131 132 Managers should be able to see a list of all discounts and coupon codes (see below). Promotions cannot be modified after they 133 are created, but they can be enabled and disabled by the manager. 134 For simplicity sake – coupon codes are not “stackable.” Customers cannot combine coupon codes and cannot use coupon codes 135 if any of the items in their order are discounted. However, they may have more than one discounted item in their order. 136 Promotions bring up the issue of how the selling price is calculated (see Coupon Code and Discount for an Item below), since the 137 discount must be allocated to books in an accurate and automatic way. To determine the selling price of a book whenever there 138 is a discount, take the amount of the discount and apply it equally to all affected items. 139 - Example 1 – 10% off your order – the selling price (needed for reports – see Manager > Reports) for each book item 140 would be 90% of the regular price. 141 - Example 2 – You have items A ($5), B ($15), and C ($10) in your order. A has been discounted to $3 and B has been 142 discounted to $10. The sell prices would be A: $3, B: $10, C: $10 – no discount) COUPON CODE 143 144 The manager creates a coupon code, which are up 1 to 20 digit combinations of letters and numbers (e.g. FREESHIP, 10OFF). This 145 sequence of letters and numbers must be unique for all codes. The manager inputs in the coupon code, selects which type it is, 146 and based on type, enters in the necessary information. 147 Types: Page 4 of 7
  5. 5. 148 a. Free shipping for orders above $X. The manager also has an option to give free shipping for all orders, no $ 149 requirement. 150 b. X% off your total order 151 A given coupon may only be used once by a individual customer. 152 Coupon codes are advertised on the website on the customer side main page. DISCOUNT FOR AN ITEM 153 154 a. The manager selects an item and inputs the amount of discount. This behaves much like changing the price for an item 155 – the only difference is that it is temporary. Once the manager discontinues the discount, prices revert to the original 156 price. 157 b. Item discounts should be automatically advertised on the customer-side website – customers should see the regular 158 price, as well as the sale price on the item page. When the item is listed in a search result however, the only the 159 discounted price should be displayed. 160 c. A list of current active discounts should be displayed on the home page MANAGE EMPLOYEES 161 162 - Hire new employees 163 - Fire existing ones (their information should be kept in the system and can be rehired at a later date). Fired employees 164 should be blocked from logging in and should receive the appropriate message. 165 - Modify employee profiles – ability to modify all fields except for EmpID and SSN MANAGE BOOKS 166 ADD/DELETE/MODIFY BOOKS 167 168 - The manager can add new titles. Once a new title is added, the manager can order copies of the book (see Book 169 Procurement) 170 - Books are never deleted per se, but can be discontinued. Discontinued books still show up in search results and have 171 their own item detail page, but cannot be added to shopping carts or wish lists. 172 - Managers can edit all information about any given book, except the automatically generated Unique Number field. 173 - The search functionality is the same as the employee side book search BOOK PROCUREMENT 174 ORDER BOOKS (FROM THE SUPPLIER) 175 176 When the manager selects this function, he should have two basic choices: Manually ordering books, or Automatic inventory 177 check for books below reorder point. 178 - Manual o When the manager chooses the manual method, he can order one or more titles. 179 o He should be able to select books via search, see that book’s detailed information, and then order as many 180 181 copies as he wants.  The search functionality is the same as the employee side book search, except he can order from the 182 183 supplier and he should be able to see the price last paid to the supplier for the book, as well as the 184 average profit margin (see Manager>Reports for details on how to calculate this). Page 5 of 7
  6. 6. o 185 The price defaults to whatever price was paid to the supplier the last time that book was ordered. If the price 186 the supplier is charging changes, the manager can input a different price (assume he has this information as it is 187 not part of this project). 188 - Automatic o If the manager selects the automatic check, he should see a list of all books that are currently below the 189 190 reorder point. o Any books with current orders in processing should account for the number copies already on order. So if a 191 192 book is below the reorder point, but the manager has already ordered enough copies to get over the reorder 193 point, this book should NOT show in the current list. o When viewing the list of books below the reorder point, the manager should have the choice of editing the list 194 195 and deleting any books he knows Safari doesn’t really need. The default number of new copies should be set at 196 5, but the manager should be able to change this. The default price is whatever price was last paid for the 197 book, and the manager should be able to change this. o Once adjustments are made, the manager pushes a button and all automatic orders are placed. 198 199 200 The manager must be able to view a list of books currently on order, along with who placed the order. BOOK ARRIVAL 201 202 When books arrive at the loading dock, a manager will log on and check them in. He should see a list of all current orders, be 203 able to select a book, and enter the number of copies that arrived. If the number of copies that came in is the same as the 204 number ordered, this book should no longer appear on the book order list. Inventory should be updated to show the new book 205 arrivals. 206 207 If the supplier accidentally sends more copies than the manager ordered, the system should only allow the number ordered into 208 the system, and assume that the manager will send all additional copies back to the supplier. MANAGE REVIEWS 209 210 Managers see a list of all pending reviews like the employees see. In addition, they see a list of all approved/rejected reviews 211 (most recent first) with the customer, book title, rating, review text, whether it was approved or rejected, and the name and 212 employee ID of the employee who approved/rejected it. REPORTS 213 214 Include a count of the number of records for all reports. 215 In order to calculate profit margin, you must keep track of the weighted average price and weighted average cost (price paid to 216 supplier) for all books. 217 Ignore shipping for all reports. Safari charges exactly what it costs for shipping, so shipping does not affect revenue or costs in 218 any way. Do not include the shipping fees in price, cost, profit margin, or order total calculations. 219 a. All books sold- A list of every book: the book title, quantity, order number, the customer who bought it, the sell price 220 specific to the order, the weighted average cost for the book, and the profit margin (specific sell price minus weighted 221 average cost). Sorting options: most recent first, profit margin (ascending and descending), price (ascending and 222 descending), most popular (highest quantity sold) 223 b. All orders - Identical to (a), except grouped by order. For example, the profit margin would be the profit for the entire 224 order, rather than on a per-book level. Sorting options: most recent first, profit margin (ascending and descending), 225 price for the order (ascending and descending) Page 6 of 7
  7. 7. 226 c. All customers – identical to (a), except grouped by customer. Sorting options : profit margin (ascending and 227 descending), $ amount of revenue from the customer (ascending and descending) 228 d. Totals: total profit, total cost, and total revenue. These are not organized by book, order, or customer, it’s just three 229 numbers. 230 e. Current inventory – Shows the book title, the number of books in inventory, the average cost for each book title. Also at 231 the bottom shows the total value of current inventory 232 f. Approved/Rejected reviews – Displays the number of reviews that each employee has approved/rejected. Sorting 233 options: EmpID ascending, number of approved/rejected reviews (ascending and descending) 234 ***The reports section is likely to be expanded in the next few weeks to include reports to facilitate testing of your system. DATA 235 236 Data and validation requirements for customers, employees/managers, and books will be provided at a later date. Page 7 of 7