E5: Reflecting on Assignment 2

28 Apr 2023

Assignment 2 required me to add a login and registration page to my e-commerce website. The general layout of the site is that consumers should be able to view and browse products upon entry. If they’d like to purchase an item, they should be directed to a login page. If the user does not have an existing account, they should have the opportunity to register a new one. Upon logging in, the user should get directed to a receipt of their purchases. A link to what I will be reflecting upon in this essay, can be found here.

This assignment did very well in teaching me how to maintain transient data through several pages. This came into play when I was required to store the quantities that the user had selected throughout the login and registration processes, all the way to invoice. I also learned quite a bit about writing data into new files. This is useful in cases where you want the data to become permanently stored. Finally, I also developed my abstract thinking skills. I learned that it is less about the code that you write, and more about the planning that goes into completing each task.

In this assignment, I chose to work independently. All of the work presented is a product of my own thinking and capabilities.

In times of trial, I accessed help via the internet. I became very thorough in my research and utilized a vast amount of online resources to aid me in my progress. I also frequently referenced the assignment 2 code examples provided by my professor. Throughout this project, I found that I needed most help with passing transient data through a variety of virtual processes.

Developing this assignment differed from Assignment 1 in that it required me to think more in depth about my design, as opposed to simply building a framework for my site. The code implemented was less than Assignment 1, but was certainly more complex, clever and efficient.

In total, I spent approximately 40% of my time planning, 30% of my time adding new code, and 30% of my time testing and debugging my application.

Throughout this project, I think I did very well in keeping my code organized and ensuring that each line has a definitive purpose. Simultaneously, I often struggled with overthinking and overcomplicating tasks.

If I could go back in time and do things differently, I would stick to my first train of thought in every instance. I found that my gut instinct was typically correct (and usually more simple) than any of the various rabbit holes that I often found myself falling down.