Your cart is empty
Subtotal:  $0.00
Shipping:  $0.00
Total:  $0.00

About this Site

  • Guitrum Music is a class project built by Taylor Willis for MIS 324 Intermediate Web Development and Management at Western Washington University
  • Created with ASP.NET and C#
  • Product and customer data is stored in SQL Server Express database and normalized to third-normal form
  • Amazon web services used for product information
  • MasterPages and user controls used to eliminate duplicate UI code
  • All user entries are validated using validation controls
  • 3-tier application architecture (UI layer, business layer, datalayer)
  • Home Page
    • "Today's Feature Items" are randomly selected from a database
    • A DataList server control is used to display the items
    • Browse menu is dynamically generated from a database
  • Search/Browse response page
    • Amazon web services used to search Amazon's database
    • Responds gracefully if no items are found by search
  • Product page
    • Amazon web services used to retrieve product information
  • Shopping cart page
    • Shopping cart functionality is provided by a shopping cart class
    • Cart information stored in database
  • Checkout page
    • Searches the database for existing customer accounts and populates the form with customer information
    • Information for new customers is written to the database
    • Customers & order are assigned a unique ID number via an autonumber database field
    • Validation controls are used to validate all user inputs, including a regular expression validator to check the pattern of the email address
    • Customer ID is encrypted using Rijndael encryption algorithm
    • The textbox OnTextChanged event is used check for changes to customer information. Database is updated only if data has changed
    • An HTML confirmation email is sent to the customer
  • Order History Page
    • Searches the database and displays all orders associated with customer's ID
  • Enhancements
    • Graphics
      • Custom logo for the header
      • Custom buttons in the header
      • Added a favicon to the project so the tab as a custom icon image
      • Edited background picture to look cleaner
    • Header div for easy access to important information
      • Added 4 buttons for the user to easily access their account, shopping cart, the About Site page and a sign out button
      • Displays the email of the user that is currently logged in
      • Consistently displays the status of the shopping cart; both the amount of items in the cart and the subtotal, shipping, and total
    • The home page truncates the review after 200 characters and leaves the last remaining word intact
    • Used bootstrap to generate a third column and used a user control to populate it
      • The item you last viewed is conveniently displayed in the right column by use of a custom set session
      • Best sellers listed in right column including the amount of each item that was ordered
    • Separated the update customer and checkout button to make each process more straight forward and easily understandable and redesigned the signin/checkout pages for better and easier navigation
      • If a new customer signs in:
        • The user is prompted with validated textboxes to input their information
        • Using a long regular expression string, the textbox for State only accepts an actual two-letter state abbreviation
        • The textbox for State also auto-capitalizes the entry to make sure that each entry is uniform
        • The textbox for ZIP uses regular expression to only allow either a 5 digit ZIP code, or a ZIP code with 5 digits, a hyphen, and 4 more digits
        • While the user can be "logged in" without completing the form, they cannot click the button to check out until their information is correctly entered and the customer is added
        • When a user is successfully added, the Add Customer button is replaced by a message in green text letting them know that it was successful and the checkout button becomes enabled
        • If a new customer makes an account and tries to view their order history without any orders, a panel will tell them that they have not made any orders yet and encourages them to continue shopping
      • If an existing customer signs in:
        • The user is greeted with a personalized message with their name
        • All of the customers information is prepopulated in the textboxes
        • The email textbox is readonly so that the user doesn't change their login information and corrupt their account
        • A link appears for the user to view their order history (previously hidden for new customers)
        • The Add Customer button is changed to an Update Information button and when clicked, will update the customer's information in the database, regardless of whether or not anything was changed (the textboxes here are still validated)
        • If the customer has an empty cart and tries to check out, a panel will tell them that they cannot checkout yet and encourages them to continue shopping
    • Product page uses FancyBox, a jQuery plugin that expands a thumbnail into a larger image inside ther browser when clicked
    • Order History page greets the customer with their name in the title of the page so they know it is their own order history
    • HTML formatted email is sent when an order is made
    • Edited the Send Email class to include a BCC to my personal email address so each time an order is placed, I get notified
    • The order confirmation page returns a message either in red if there was an error sending the email, or in green letting them know that the confirmation email was sent
    • Included a link to my MIS 314 bookstore in the footer for anyone who is interested!

*Thanks to Amazon.com (the world's greatest on-line store)
for the use of its icons,CD images and descriptions



Previously Viewed




Best Sellers


The Beatles 1
The Beatles
Qty: (9)

Dark Side Of The Moon
PINK FLOYD
Qty: (7)

Queen - Greatest Hits
Queen
Qty: (5)

All Star Sessions
ROADRUNNER UNITED
Qty: (3)

Dethalbum III (Deluxe Edition)
Metalocalypse: Dethklok
Qty: (3)