Link to screencast: https://youtu.be/oplN1RCdgSo
Click HERE to view a screencast presentation covering the design of the site.
Plan for Site Sitemap
We plan to have a separate page for the shopping cart where users can view and edit the quantities of the products that they had selected. It will look similar to the invoice page where users can preview the item and quantity before confirming the purchase. The cart will store the user’s purchase information based on the data within the user’s session. Once the user selects a quantity for the product they want, they can add it to the cart.
In the cart, users can edit the quantities of the item(s) that they selected, such as adding the quantity or removing the item completely. After they have confirmed their selection, they will press on a “Complete Purchase” button to proceed to the Invoice page. Before users can proceed to the invoice page, they must login or register an account. If they are not logged in, they will be directed to the login page.
We plan to utilize sessions to manage our shopping cart information and to store quantity inputted data. It will be the value of the product type key for each of the products that will be stored in the shopping cart in an array format. If a user selects products from multiple pages, it will be put into an array that looks similar to this: {Atlantis: [1. 2. 3], Everybody: [4, 5, 6]}.
We plan to avoid users from accessing our application through the use of cookies. When a user purchases an item through the shopping cart, the server will check if the user has a cookie. If the user has a cookie, then they will be directed to the invoice page, however, if they do not have a cookie then they will be directed to the login page or have the option to register if they do not already have an account. A particular security concern is that cookies can be accessed and modified.
Upon a successful login, we plan to personalize our invoice page by including the email address that is associated with the username in the invoice message. We are still in the process of planning out all of the personalizations that we will be implementing upon a successful login. All in all, to get the email address, we plan to get it from the user_data.json that is stored in the cookie in the login.
Yes, I will be working with partners. We plan to work cohesively on one task at a time so that we work to consistently be on the same page and can understand what each of us are thinking and planning to do. This will hopefully minimize the amount of time that we must spend figuring out how each of our parts of code that we would have been working on separately work together. By working together on one task at a time, we spend more time and all of our knowledge focused on that task rather than being scattered around. We plan to spend at minimum, 2 hours a day working together. If either of us figure something out when we are not together, we plan to relay the information to each other so that we are all on the same page and can pick up where that person left off.
We are approaching Assignment 3 differently than Assignment 2 in that, this time around, we have a prototype constructed for our reference, and we are working on planning our steps to completion prior to writing out code. We recognize that there are a lot more tasks to complete for this assignment and planning accordingly. We are taking more time to think of an efficient plan and create a design prior to writing out code. This will hopefully reduce our levels of stress when it comes time to write out code.