E5: Reflecting on Assignment 2

02 May 2024

Reflecting on Assignment 2

Assignment 2 consisted of upgrading our e-Commerce website that we created for assignment 1, to where it requires users to login to their account or register for a new one in order to complete their online purchase. You can find out more on this assignment here.

What did you learn from this assignment?

The most important thing I had learned during this experience would be to start things sooner. I judged assignment 2 as being "easy" before I actually took a look at it and I learned very quickly that, that was not the case. Especially when you run into bigger problems that require a bit more time to fix. I was humbled, but I walk away with the lesson of knowing I have to manage my time correctly.

Did you work with a partner?

No, I did not work with a partner. I did however refer to ChatGPT quite a bit.

How did you get help when you needed it? What did you need help with?

I asked for help from the TA's, and my other classmates. They were all so helpful and I was glad to not have to experience an assignment so difficult, alone. As I previously mentioned, I also referred to ChatGPT, but I had a love hate relationship with it. It would have its moments where it would be super helpful, and moments where it was super useless, but we figured it out together!

I think what I needed help with the most was displaying my errors. I could not for the life of me figure it out. I tried to implement a function that would be able to display all of them if needed, but that did not work the way I expected it to. It would only display select errors, so then I had to implement different functions to call the specific errors that had issues displaying. It was so tedious and frustrating, but I was able to somewhat figure it out. I hope it works!

How was developing this assignment different than assignment 1?

While this one was difficult, I do not think it was as bad as assignment 1 was. I was able to implement the login and registration pages pretty easily, and I didn't have so many issues trying to implement my IR this time around. Assignment 1 was SUPER tedious, whereas this one we actually had something to build off of that was more tailored to our understanding so it was a bit less complicated.

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

I think I spent about 50% of my time thinking about how to do something. I stressed myself out so much when it came to doing tasks that seemed difficult, but were much easier than anticipated and vice versa. I thought personalizing the invoice was going to be much easier than it looked...until I spent 2 hours figuring out how to tailor it to a specific user, but I digress. I spent about 25% on writing my actual code and about 25% testing and debugging things. I do however wish I spent more time on testing and debugging to actually get down to the bottom of some issues I was having. ie. all my errors not being displayed. If I had spent a bit more time on that, maybe I wouldn't have had to write more code to display specific errors.

Describe what worked well with this project? What did not work well?

I think having a good assignment 1 foundation helped a ton with this. Like I had mentioned, since assignment 1 was more tailored to my understanding so it made getting around assignment 2 a bit easier. I think figuring out how to integrate my login and registration pages worked well. That was probably the easiest part of the entire assignment though. I think displaying my errors did not work out as well as I had hoped. That was more difficult than getting my quantities to carry over to the invoice.

If you could go back in time and do things differently, what would you do differently?

As I had mentioned, definitely getting started earlier! I feel doing that would have gave me an entirely different experience. I would have been able to clean my code up a bit more and focus on smaller issues I had that I just let go due to time contraints. However, I am accepting of the experience I had since there were so many valuble lessons here to learn. Lessons beyond just coding!