E5: Reflecting on Assignment 2 Technical Essay

25 Apr 2023

1. Provide a brief introduction to the assignment along with a link to this page for further details
In [assignment 2](https://dport96.github.io/ITM352/morea/150.Assignment2/experience-Assignment2.html), we had to build on top of our storefront webpage from assignment In assignment 1 we had to build a dynamic webpage along with a working server.js for a store, specifically I built one for a supposed bakery that I own. In assignment 2 we then had to add user recognition as well as storage, where we added a login page as well as register for the user to go through before finalizing their purchase. Their userdata would also then be authenticated and stored.

2.What did you learn from this assignment?
I learned a lot from this assignment, I became a lot more familiarized with regular expressions as I had to use it a couple of times during this assignment for authentication purposes on my webpage. I also learned about file i/o usage during labs and learned about it further when working on this assignment. I also just learned various better coding habits such as comments on everything I did so I, and whoever else is accessing my code later on, can fully understand what I did. I also learned to take things step by step more, testing my code frequently. I also learned to use console.log() to test out various codes and information to ensure it is even working and being received by the server.

3. Did you work with a partner? Assign an estimated percentage on the amount each team member contributed to the assignment (including yourself).
I worked alone!

4. How did you get help when you needed it? What did you need help with?
I needed help with A LOT of things, I had a friend help me through the assignment, basically I would code while they watched and if I stuck on something they would guide me through the problem, a lot of times it was just moving code around and tiny syntax errors. I do remember one issue I kept running into regarding a referencing error, although I’m not sure why it was having a referencing error, I just deleted a few lines of code and it started to work... Also google was very useful as well, although I often had to look through multiple sites to find the applicable answer.

5. How was developing this assignment different than assignment #1?
For me, the most noticeably different thing was keeping track of all of the web pages that the user has access to and being able to transfer necessary data between them, as well as properly functioning and fulfilling all of its purpose.

6. 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
a. 15% thinking about how to do something, planning
b. 20% writing code
c. 65% testing and debugging

7. Describe what worked well with this project? What did not work well?
For me, I feel that I did significantly better time management wise compared to assignment 1, although I still ended up finishing around the same time… I feel like I was also able to reuse a lot of the similar concepts I learned in assignment 1 into this assignment, so in some objectives I did fairly well in my opinion. One major hiccup I ran into is that for SOME REASON I decided at first, to code all of my authentication processes ( for the user login and registration) in my html pages instead of my server, so having to kind of redo that entire process was not fun and did not go well. I definitely feel like I need to plan things out fully and fully grasp what I am doing before doing it. When I discovered this issue by Professor Port, he told me something that I feel like I didn’t give as much thought to when he first said this, but I now take it into full consideration. This would be to take things step by step, sometimes I go too fast and errors end up piling up and I have no idea what is wrong and what is right. This means that I end up spending more time debugging and deleting then re-entering different lines of code. Toward the end of the assignment I took it much slower, testing new things I did frequently to ensure it is working fully before moving on.

8. If you could go back in time and do things differently, what would you do differently?
If I could go back in time I would 100% write down everything I needed to do. Towards the end (where I thought I was 75% done), I started to jot things down that I needed to do to complete the project. Going through the entire project details meticulously and I started to realize there were more and more objectives I needed to complete that I forgot about or underestimated the time frame on. Looking back, with all of the new things that ended up popping up, I was more like 50-55% done.