Provide a brief introduction to the assignment along with a link to this page for further details
https://github.com/kylemcwh/ITM352_S22_repo/tree/main/McWhirter_Kyle_Assignment2
Assignment 2 was a ride, I was sure that I knew most of what I needed to make it happen so I used code we wrote in the past and implemented it into a few of the html pages as well as the Javascript server. When starting to build on my Assignment 1 and creating a user database, registrations html, login html, and an update info html for the users I first took some time to think it through. I though about the most logical way to achieve the connectivity between these pages and ended up with a solid route for the user to go from the products page to the invoice through a login. By putting the user email and products chosen in the query string I was able to transfer the data between pages, and identify when the user is logged in or not.
What did you learn from this assignment?
I learned how to transfer data between pages through a query string, I learned how to create a successful login, registration, and update user info pages. I learned how to create a user database and parse the data to the server to see the list of users, and the server.js was updated to validate all login, registration, and updating user requests.
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, I’m glad that I didn’t because I really wanted to learn how to do all this by myself and I feel like I accomplished just that.
How did you get help when you needed it? What did you need help with?
When I got stuck I would search through the MIS portfolios to find examples of the code that I am struggling with, but most of the time I didn’t find the help there. When I got really stuck I asked the professor, mostly near the end when I was crunched for time and when the things I wanted to implement were out of my scope. The professor helped me with the query string transfer method, but other than that I found a way to do most of the Assignment by myself.
How was developing this assignment different than assignment #1?
The thought process going into it was that I needed to create a user database, multiple pages for login and registry, and transfer the user info to the invoice to successfully operate. These were things that I could conceptually figure out besides the query transfer, it took my a while to get it working. It was nice building on Assignment 1, we had the foundation and most of the code was borrowed and placed in different sections for the correct validation and such. The login page was not difficult to create as well as on the server, the app.post was not difficult, it just took some time to write and understand.
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 spent about 1 day creating the login, registration, and update info pages, probably about 30% of the time making it look the way I wanted and implementing the validation and server code to correspond. Then about 40% of my time was spent thinking about and implementing the validation for the login, registration, and update info forms, making sure there weren’t any bugs, cleaning up code and such. Then about 30% of my time was debugging and implementing the query string data transfer method, making sure everything worked on my localhost as well as the class webserver.
Describe what worked well with this project? What did not work well?
The different html pages I used for the login, registration, and update info pages worked well for me, I thought it would be easy to implement because I shared the login stylsheet between the three pages so they all looked similar. The validation got a little bit confusing for me at times, I’m not sure why but sometimes a few of the error messages would show when I only wanted one to show, this will be something I can fix in the next Assignment. The other thing that didn’t work the best was the query string transfer, it works now but it took me some time to understand and develop.
If you could go back in time and do things differently, what would you do differently?
I thought I did a great job, I think if I were to go back in time I could better understand the query string transfer so it would have never been a last minute problem. Other than that I did everything how I wanted to and I learned a lot by writing code too.