E5 Essay

08 May 2020

For Assignment 2, we had to expand on our Assignment 1 and add more features to our e-commerce store. The main additions included a login and registration page with data validations that were required in order for the customer to get to their invoice page. If all data validations for registration pass, their name, username, email, and password is stored and saved in a .json file for future use. Further details on the instructions for this essay is located here: https://dport96.github.io/ITM352/morea/150.Assignment2/experience-Assignment2_retrospective.html

From this assignment, I learned the importance of creating a query string variable that contained the product amount, as it made it easier for data to be passed from one page to another. Without it, all the login and registration pages would be for nothing if the product amount can’t be shown on the customers’ invoice page. My assignment 1 did not have this so adding it was a major addition to my website. I did not work on this assignment with a partner. If I needed help with anything, I asked Professor Port through email, as well as my classmates when I needed advice on how to construct my login and registration pages. The thing I needed help with the most was having the product quantity be passed through all pages, but Professor Port helped us by explaining it more in depth for one of our Assignment 2 workshops. I feel like assignment 2 involved a little more thinking than assignment 1. Adding more pages and steps to the website got me a little confused at times, so I had to visualize the process of my website in my head. For example, when customer submits purchase it leads them to the login page. If they have a valid account, then redirect them to their invoice, if they input wrong login information, show error messages, if they conclude that they need to make an account, redirect them to the registration page, and so on and so forth. I believe I spend 30% of my time thinking about how to do something, 30% writing code, and 40% testing. I’m a pretty visual person so I like to test things out a lot (even if I know they’ll probably be wrong) and try to figure out what I can do differently from there. I feel like I got most of the basic requirements down for this assignment but feel like I could’ve done more in perfecting it. I couldn’t figure out the required data validation for the email addresses so I didn’t end up including it. Additionally, I would’ve liked to show my error messages for the login and registration page in a nicer format, but did not have the time to. I also should’ve redirected the user to a page that tells them that they’ve successfully registered instead of automatically redirecting them to their invoice page. If I could go back in time, I’d start earlier so I could have the time to add all of the things I missed and wanted to add. Overall, this assignment was a great way to exercise my thinking in programming.