Reflecting on Assignment 2 - E5
Provide a brief introduction to the assignment along with a link to this page for further details
For Assignment 2 the goal of the project was to incorporate a login, register, and change password feature onto our assignment 1 project. Using what we learned from the previous labs most importantly File I/O and Lab13. I applied the concepts we learned and also added some other features to help with user experience. We focused on ensuring that the user data is persistent, security, and personalization. Here is the link to learn more about Assignment 2: https://dport96.github.io/ITM352/modules/Assignment2/
What did you learn from this assignment?
Assignment 2 taught me a lot about javascript. The most important thing I learned was how to keep the data from my products page to the invoice after the user signs in or registers. This was the most difficult for me and I got stuck on it for a while. I also learned how to debug although it wasn’t through the application, it made me think more about the code and what does what and where. Assignment 2 stresses the importance of functions and I now see how it can be used. Assignment 2 was a lot more difficult than assignment 1 and it took a lot of researching and staring at the code to figure out some problems.
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 for this project because I feel like it helps me a lot when I am the only one responsible and I need to figure it out problems on my own.
How did you get help when you needed it? What did you need help with?
I got help looking through w3schools, past labs, and other students’ code. I faced a lot of troubles when trying to keep the data from my purchase page to the invoice after the user signs in. This took me a while to figure out but I got it done. I also had trouble with the change user password page but ultimately figured it out after looking through old code from previous students.
How was developing this assignment different than assignment #1?
Assignment 2 is more difficult than Assignment 1. Using multiple functions for different pages was a lot to look at in terms of the volume of code but when you break it down, it wasn’t too bad. I had to look up different solutions for checking email format or not allowing symbols in the username, so there was a level of difficulty there when adding it to assignment 2. But what I noticed about assignment 2 was that I could understand the code a lot better and if there are any issues I could find them without the debugger tool.
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
75% thinking about how to do something/researching
20% writing code.
5% testing/debugging.
Describe what worked well with this project? What did not work well?
A lot of things did not go as planned, there was a day where I spent almost 3 hours looking at how to keep the data from product page to invoice and I had to sleep on the issue until the next day when I finally figured it out. There is a lot that can go wrong and a simple misspelled word could mean hours of debugging. But what did work well is actually understanding the code, understanding what each section of code does and how it works. Another thing that helped me throughout the process was labeling almost each line of code and what it does. This is a great habit to start doing and will save you a lot of time.
If you could go back in time and do things differently, what would you do differently?
The only problem I had with my final project was with the formatting and the user experience. I had spent almost all the time writing code and thinking about it. I neglected how the login/register/change password page looks like. It is not bad by any means but maybe doing some sort of quality control for user experience would be something to do differently.