Provide a brief introduction to the assignment along with a link to this page for further details
For assignment 2, we had to add onto our website from assignment 1 by adding a login and registration page. The customer would need to have an existing account or create a new account in order to get to the invoice page. Some of the important aspects of this assignment were to have numerous validations on these pages such as the password having a minimum of 8 characters, the full name of the user only being letters, having the original password and reentered password match, etc. Another important aspect was making sure that the data the user entered in the products display page was carried through to the invoice page and that the data did not get lost when the user was logging in or registering. Click this link for further details about the assignment: Assignment 2
What did you learn from this assignment?
I learned how to debug from this assignment. When we first learned about debugging, I had a hard time understanding how to use it, but with assignment 2, I was able to get more practice and my debugging skills have drastically improved within the span of a week. I am really glad that we went over debugging before completing this assignment because it definitely helps to identify problems with your code quicker than if you were to look through every line of code yourself.
Did you work with a partner? Assign an estimated percentage on the amount each team member contributed to the assignment (including yourself).
I did not work with a partner, but the entire assignment took me about five days to complete.
How did you get help when you needed it? What did you need help with?
One thing I was really struggling with was how to keep the data around while the user was logging in or registering. Therefore, after trying a few different things on my own, I ended up emailing Professor Port for help. The other thing I struggled with was getting my server to work properly. I initially got some help from Professor Port with this issue, but I didn’t know how to proceed after that, and time was running out, so I ended up copying a classmates server.js code and referenced that I got it from them.
How was developing this assignment different than assignment #1?
Assignment 1 was a bit more difficult and stressful for me only because we were setting the foundation for our entire website. However, assignment 2 required the use of code which I was more familiar and comfortable with such as if statements.
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
Like I mentioned before, the entire assignment took me about five days to complete. Three days were spent coding while the other two were spent doing finishing touches and debugging my code to make sure it worked like how I wanted it to. Therefore, I would say I spent about 10% of my time thinking, 40% of my time writing code, and 50% for testing and debugging.
Describe what worked well with this project? What did not work well?
I think this assignment went pretty well for the most part. Besides keeping and passing the data to the invoice and having trouble with my server, I didn’t have as many problems as I thought I would.
If you could go back in time and do things differently, what would you do differently?
From the last assignment, I said I would try to make sure I understand the individual concepts before tackling it. I did make sure that I thoroughly understood the File I/O and Debugging labs before working on assignment 2. Also, I started much earlier than assignment 1, so I did not panic to get it done. One thing I would still like to improve on is to spend a little more time thinking before I start writing code. I only spent about 10% of my time thinking, but I could spend about 15-20% of my time thinking. Thinking about how I should structure and write out my code gets a bit tedious for me, so I don’t like to spend too much time on it and usually just jump into coding right away. However, this is one way that you can run into alot issues with your code. Therefore, this is something I would do differently on assignment 3.