Reflecting on Assignment 3

14 May 2020

E5: Reflecting on Assignment 3

Briefly describe your system:
My Assignment 3 is an e-commerce application that I named Kaka’ako Surf Co. The store sells a variety of surfing essentials; surfboards, surfboard traction pads, surf leashes, and surf wax. My application allows users to select products, add the products to a shopping cart, edit the shopping cart, and purchase selected products. The application also provides a personalized user experience using sessions and cookies.

Any notable shortcomings, bugs, problems, or additional features not implemented?
I was unable to create a functio that could successfully clear a user’s cart.

Describe what you are most proud of about your system:
I am most proud of my implementation of cookies to personalize a user’s experience. I am also proud of the function I was able to modify to dynamically add products to the cart and display the amount of products being added without having to be redirected away from the products page.

Describe what you are least happy with your system:
I am not entirely happy with the invoice and I wish I spent more time developing it and fixing any errors.

How was developing this assignment different than assignment #2?
Developing this assignment was different because it required much more time spent on planning. There were many times when I would find myself lost in my own assignment and have to refer back to my Assignment 3 PowerPoint Presentation to remember what I was trying to do. It was also very different because the user data personalization requirement. I believe that implementing this was the most challenging.

When you ran into a problem, what did you do to address it?
I spent a lot of time referring to the console, checking my server and my functions to make sure they were consistent, and carefully reading through my code. I also started to test code a few lines at a time, rather than just writing a lot of code before testing. This made development much easier. When I found myself hitting a mental block it would help to step away from the screen and reevaluate exactly what I was trying to accomplish.

Describe what worked well in doing this assignment?
I would say that my navbar and product pages were the most successful. I’m glad that I was able to develop a navbar function and only one products_display.html for all of my products. This made coding much easier and more efficient.

Describe what did not work well in doing this assignment?
My checkout.html and invoice emailing was the most difficult.

What did you learn from doing this assignment?
I learned a lot about the coding process. I realized that the process I was following for Assignments 1 and 2 would not be efficient for Assignment 3. It is best to take your time and thoroughly understand every line of code being written.

If you could go back in time and do things differently, what would you change?
I would change the amount of time I dedicated to my checkout.html and invoice/mailer elements.

Estimate the % of time you spent (a) thinking about how to do something, (b) writing code (but do not include testing, (c) testing and debugging.
Thinking of how to do something = 20%
Writing code = 40%
Testing = 40%

Assign an estimated percentage on the amount each team member contributed to the assignment
I completed Assignment3 individually. However, I did reach out to some of my classmates if I was uncertain about something. I also referenced online resources like W3 Schools and Stack Overflow.