Assignment 3

In Assignment 3, I teamed up with two other classmates to build upon the groundwork I laid in Assignment 2. This time, however, our focus shifted dramatically towards leveraging sessions and cookies to significantly enhance the application’s security, personalization, and overall user experience. Sessions became the backbone for maintaining user identity and state throughout their interactions, enabling us to implement secure logins and deliver personalized content. Cookies, on the other hand, played a vital role in preserving functionality by storing essential user data directly on their devices.

Beyond the core functionalities, the project also involved individual contributions. Our responsibilities centered around Individual Requirements (IRs) 1, 3, and 5. However, an additional requirement emerged – the creation of a back-end administration login. This login would allow our Teaching Assistant (TA) to access the system and add or delete products as needed. By working collaboratively and strategically implementing sessions and cookies to address these functionalities, we were able to create a significantly more robust and user-friendly application.

Individual Requirements

-IR1 Maintain last product page visited by user. When user leaves and comes back to site, they are taken automatically to the last product page visited. After login or register, they return to the last page visited. After checkout, the last page visited becomes the home page.

-IR2 In addition to quantity, some products require users to select features (e.g. shirts require the user to select a size). The features carry over to the invoice and may affect the price or shipping costs (e.g. x-large size shirt may cost more).

-IR3 Have a search feature that enables users to find products by name, type, or something in their description. Search results show up immediately on the current page and enable users to select them without leaving the current page. Here’s an example of this kind of search (https://www.w3schools.com/howto/howto_js_filter_lists.asp)

-IR4 Have an “add to favorites” icon for each item than when clicked, toggles an indication that an item is of interest (highlights/un-highlights icon). When the user views a product page, all favored items for that user will be highlighted. These should remain between page views. In the shopping cart, indicate which items are favored.

-IR5 Add product ratings: 1-5 stars. Average rating is displayed for each product. Users that purchase a product are given the opportunity to rate the products they purchased.

-IR6 Keep track of the last time and quantity the user purchased a product. This information is displayed when the user is viewing a product.

-IR7 Keep track of how many of each product is currently in shopping carts for all users on the site. Display this information for each product when viewing the products.