E5: Progress in Programming Report Assignment 2

24 Apr 2023

This assignment required us to add a login and registration page on top of the previous assignment and save this user data to a JSON file that could be retrieved later to match with the user’s login information. I had individual requirement 1 for this assignment and it required me to add encryption to the user’s password. A link for more information on this assignment can be found here.

I learned a lot of valuable information from assignment 2. One key takeaway from this project was the security aspect. My individual requirement for this assignment challenged me greatly as it required me to encrypt the user’s passwords when registering and then match that encrypted password with the plain text password the user used when logging in after it was encrypted and match it with the stored encrypted password.

I did assignment 2 without a partner as I wanted to challenge myself and test my coding skills.

I received the help that I needed from Professor Port and the TA’s Zachery and Vy. I needed help with encryption as well as uploading my assignment on the ITM-VM class server. I encountered some errors with the bcrypt module as it was too recent for the node js version that was running on the server.

Developing this assignment was different from developing assignment 1 as there were many more security aspects that required critical thinking and impacted the method by which I developed the assignment.

I spent approximately 20% of my time thinking about how to do this assignment. I spent 50% of my time writing the code for assignment 2. I spent about 30% testing and debugging the code.

What worked well in this project was the encryption part of this assignment as it offered ample security and ensured the user’s data was secure.

If I could go back in time and do things differently I would have used the crypto module rather than the bcrypt module as it would have made it easier to encrypt the user’s data. It also would have caused less issues when uploading my assignment onto the ITM-VM class server.