E5 Reflecting on Assignment 2 Technical Essay

25 Apr 2023

Provide a brief introduction to the assignment along with a link to this page for further details

Assignment 2 is a continuation of work from Assignment 1. In assignment 1, I made web pages where a user is directed to the index page, store, and invoice. For this assignment, we were asked to add a login, account edit, account registration, and completion page on top of assignment 1. When a user selects an item on the store page and clicks purchase, it will direct a user to the login page or sign-in page before they can access to invoice. If there is an error logging in, it will display error messages. For the system of login, I implemented a security system where the password has to have at least 10 characters and a maximum of 16 characters including lower case, upper case, numbers, and at least one special character. Please see the link below if you want to learn more about assignment 2. https://dport96.github.io/ITM352/morea/150.Assignment2/experience-Assignment2.html

What did you learn from this assignment?

I learned the following things from this assignment, password validation, encrypted password, and how file sync works. I learned various use of if statements for password validation. For my security scheme, I included if the password matches with the password stored, the password has to include at least one uppercase, lowercase, number, special character, and minimum 10 characters. I learned that password match doesn’t have to be decrypted and file sync is for updating user_data.json when a new user creates an account.

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

No, I didn’t work with a partner.

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

I needed help encrypting passwords and file syn to store user names and passwords. Before I asked for help, I googled first to see if I can find the answer by myself. Most of the time, googling helped me find the solutions that I was looking for. When I got stuck understanding the instructions, I emailed the professor about it.

How was developing this assignment different than assignment #1?

Developing this assignment was different than assignment 1 since assignment 2 was more advanced. Assignment 1 was relatively similar to what we covered in class and WOD, however, some concepts and systems from Assignment 2 were something that we never covered in class.
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 spend 10 % of my time thinking about how to do something, 30% of my time writing code, and 60% of time testing and debugging code. I spent my most of time debugging code and fixing problems. Password validation took a lot of my time since I needed to create an account every time testing out if error messages were displayed accordingly.

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

My time management worked well with this project. I was able to work on the projects on weekends and finish it on time. Also, I was able to do additional individual requirements for extra credits. I didn’t know that account edit page was not optional requirements so I had to rush through developing account edit page. I wish instructions were written more clearly.

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 review Lab thoroughly before coding for Assignment 2. I found some lab exercises helpful and I would review each lab so that doesn’t have to rush through to find solutions. Also, I would change my HTML and CSS to implement the design that I wanted it to. Server.js took a lot of my time coding, and design and looks were the last things on my mind. Next time, I would make sure to take some time to work on HTML and CSS.