Assignment 3 Reflection

28 Mar 2022

Briefly describe your system:

The system that we made is an e-commerce website that sells fictional products from the Pokemon game series. These products include, pokeballs, potions, berries, and evolution stones from the series. While these products could not be realistically sold, this website is a proof of concept for websites that could hold real products.

Any notable shortcomings, bugs, problems, or additional features not implemented?

Personally a shortcoming that I feel is the fact that the shopping card doesn’t update automatically when an item is added, instead the user needs to refresh the page in order for the cart to show the new items added to it on the navigation bar.

Describe what you are most proud of about your system:

The fact that our system actually worked. We had to deal with a lot of previous code not working from past assignments when we were implementing new things and had to research a lot, from going to stackoverflow to looking at previous students work to see what they had done for their websites. Somehow we were able to make a site that implemented many of the things that we learned in our class is the crowning achievement I personally think.

Describe what you are least happy with your system:

The fact that the page needs to be refreshed in order to update the cart I feel is a big shortcoming, as we could not find out how to have it automatically update in the time we had. Also I feel that we could have definitely improved the UI in some places, especially the navigation bar.

How was developing this assignment different than assignment #2?

It was different from assignment 2 due to the fact that this project was definitely more intensive to work on. It felt like there was a lot we needed to add in a short amount of time, also the fact we had to do a lot of this before finals mostly did not help with our time management. Also when developing assignment 3 we did not have feedback like we did for assignment 2 from the previous assignment. So we weren’t sure if our assignment 2 was a good base for our assignment 3 as we weren’t sure if we did anything wrong.

When you ran into a problem, what did you do to address it?

When we ran into a problem me and my partner got together to bounce ideas off of each other. We would also check the console for the error and look it up on places like stackoverflow to see if anyone also had the problem. Online resources were the main way that we solved problems and looking at previous classes codes to see how they solved the problems we had. Also consulting classmates for help worked well for solving a problem.

Describe what worked well in doing this assignment?

We were able to add new features to our assignment fairly fast, even if they took a while to test and debug in order for them to work with our previous assignment base. We also fixed up a lot from our previous assignment and got rid of dead or useless code while combing through and debugging our code.

Describe what did not work well in doing this assignment?

There were many errors we came across in our site that required us to spend a huge amount of time to debug and fix. Taking away precious time that could have been used to add more features or clean up UI. These errors ranged from variables being undefined to functions not working. If I had to list the amount of errors we ran into it could probably be a short novel, though I’m definitely overexaggerating, with the amount of time we had to spend debugging code it felt like there were that many.

What did you learn from doing this assignment?

I learned how hard it is to make an e-commerce website from basically scratch, and how to be efficient with my time while coding. Due to the amount of work we had to get done in a short period of time, I learned how to find what I was looking for while utilizing online resources and used many of the shortcuts that VSCode offers.

If you could go back in time and do things differently, what would you change?

I would definitely manage my time better, but more importantly I’d set up assignment 1 better, especially since it was the basis for all the next assignments. Due to my assignment 1 being extremely messy we had to spend a lot of time on assignment 2 fixing it, and then when assignment 3 rolled around, a lot of the code was messy and much of it had to be remade completely since it just wouldn’t work with the new code we made.

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 feel that I spent around 20% of my time planning the code and thinking about how to write it, 20% of my time writing code, and then 60% of my time testing and debugging that code. I spent much less time actually writing the code out than actually testing and debugging that code. While I did take a good amount of time planning and writing code, I definitely feel that most of the time I was just debugging and testing code.

Assign an estimated percentage on the amount each team member contributed to the assignment (including yourself) and explain briefly your rationale for the percentage breakdown. Be sure to include an overview of what specifically you and your partners contributed (e.g. “I worked on the security and my partner 1 worked on personalization”)

Personally I would give 50% to myself and 50% to my partner Sean Sumida. I feel that we both contributed equally to this assignment and should receive the same grade. We coded a lot of the assignment together and helped each other on parts that we did not understand.  We split the work so that we would not write code that conflicted for example, Sean would work on product data and the cart, while I worked on registration and login. Then we would come together for when we needed to connect all the parts.