1. Provide a brief introduction to the assignment along with a link to this page for further details:
In Assignment 2, we were tasked to add a login, registration, and edit registration page to our Assignment 1. There was a specific order in which the pages had to be in. After submitting items to purchase we had to make it so that a user has to login in order to gain access to the invoice page. Like most other websites, the email, password, and full name of an account comes with rules we must validate in order for a login or register to be successful. Once a login or register was successfully completed, we were instructed to provide personalization to the invoice page that indicated to the user that he or she is identified. More detail on the instructions for Asiignment 2 is provdided in the link below:
2. What did you learn from this assignment?
There are a lot of ways in which my programming could use improvement. I am unable to construct proper and clean code from scratch on my own and need a lot of assistance and guidance to put together functions to get code to do what I intend. I find that I am so concerned about just getting code to work that thinking about conciseness and efficiency is the last thing on my mind.
3. 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 for this assignment. I referred to previous labs, secondary websites, and previous projects which were helpful to look at when making decisions in how I wanted my website to work. Professor Port through office hours. Meeting with Professor Port has been extrememly helpful in clearing any questions that I had and guiding me in the right direction.
4. How did you get help when you needed it? What did you need help with?
I learned from Assignment 1 and went in for office hours whenever I felt like there was something I had a question on or had something that I was struggling with. Although I felt like I may be the only one asking questions that were sub-par, Professor Port assured me that no questions are dumb questions and that he was there to help. The main things I struggle with is knowing what I want to have code do, but not knowing how to go about it in my code. Sometimes, I take a lot into account when thinking about what I want to do that by the time it comes to writing the code, I feel overwhelmed. Professor Port brakes things down in a way that is managable and understandable.
5. How was developing this assignment different than assignment #1?
In developing Asignment 2, there were less choices in design compared to assignment 1. In Assignment 1, we could create any shop of our own choice and sell whatever items we wanted to. In Assignment 2 however, there were more limitations. The pages had to follow a certain order and the there were restrictions as to what the components of those pages must include such as the rules to validate password, email, and name. Within the mentioned scopes, there were still different ways to go about developing these requirements for the Assignment.
6. 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 20% thinking about how to do something, 30% writing code, and 50% testing and debugging. It doesn’t take much time to figure out what you want something to do, but it takes a long time for me to figure out how to do in a way that makes sense. That is writing the code for it. Similarly, writing code and not testing it is not much of a problem. Testing and debugging on the other hand takes a significant amount of time. Finding the syntax errors or most troublesome- trying to fix code that’s not doing what you want it to do to get it to do what you want it to do is by far the most time consuming.
7. Describe what worked well with this project? What did not work well?
The most challenging part of this assignment was to figure out how to pass data through multiple pages. What worked well for me, but ended up taking me a long time to conclude was using URLSearchParams and pass data through pages and making data persistent. What didn’t work well for me was trying to pass the data through multiple query strings. Doing so was difficult to keep track of and since I created my invoice based off of a query string in the URL in my Assignment 1, adding other strings to the query messed with its ability to function properly.
8. If you could go back in time and do things differently, what would you do differently?
From Assignment 1, I had a small unfixed bug which carried onto Assignment 2. I thought it wouldn’t be a big issue and that it would be best to focus on the new Assignment at hand. When I went in for office hours, I had mentioned the hiccup. By then I had already started on my Assignment 2. Professor Port was insistent that it was important to fix this and we ended up working on that for most of the hour. It put me behind schedule because what I thought was a small hiccup actually caused us to change a lot in the file to fix. This meant that a lot of what I had been working on had to either be reconfigured or completely scrapped. If I could do something differently, it would to have gotten the bug straightened out first.