It will be a separate page rather than being integrated into the product page. The shopping cart will allow the user to modify and remove any quantities they made. For all the product pages, there will be a purchase button, which will lead to the shopping cart page. If the user wants to add more or go back to the products page, they can do so easily using the nav bar on the side (or top, haven’t decided yet).
Example would be if a user goes to get a product on one page, then another, and click purchase, it will lead them to the shopping cart which allows them to see which items they choose and if they changed their mind then they can remove the quantity. After editing their shopping cart, they can click purchase and it will lead them to the invoice!
I would use app.get to load in the cart page. Then app.post in order to process the cart information onto the invoice. The things stored in the session will be the product type, product quantity and the user data (if they are logged in). Because we are dealing with more products than before, I would make the var products based on the different html files for the multiple pages portion of the assignment. So var bags, var journals, var washitapes, var pens, and so on. I will include something similar to that for my products data, that will be used to manage the shopping cart data.
I am still deciding whether to make it similar to assignment 2, where the user must login or register after clicking the purchase on the shopping cart. I think that way is much more simpler to make it so that the user knows they are logged in and that it will be easier to get their invoice. The security concerns would be that if the user isn’t logged in, they could easier access the invoice. So, that is one of the things i would have to consider with assignment 3! So, I’m thinking whether to make it super similar to assignment 2 for that portion.
I would do something similar to assignment 2, where i would use the username of the user as a personalization, and it will show the user's username upon 'purchasing' when seeing the invoice. The code would be ${params.get('name')}, to create the personalization of the user.
Nope, I will be working alone!
I found my system for assignment 2 actually helped out, by doing little by little each day and focusing on one portion of the assignment for 1 to 2 days at a time. However, I think i would do more research on the design aspect of this assignment, especially if I wanted to use different design ideas for my products pages. If i'm not able to do the type of design (that i sketch out) i would use either a css design that matches all the products theme or a simple design overall.
I will be doing it little by little, slowly building upon it like assignment 2, and also testing it so often with drafts as the previous assignment 2, i had tested it out more than 20+ times to make sure it works! This way has been helpful for the past two assignments, so i will adapt it to this assignment 3!