Evaluation Guidelines and Class Retrospective BLOG

14 Dec 2021

1. Briefly describe your system (e.g. A store selling Pokemon game cards)

What I made is a fountain pen store that sells a variety of fountains pens of different prices from famous brands like LAMY and Sailor. Customers will be able to log in, registers, choose from the store’s inventory, and checkout. They will receive personalized messages on the way as well as their invoice through the mail.

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

Some shortcomings that I would like to fix include not being able to remove and add quantities from the invoice itself. Furthermore, I would like to put a working system where you can see the number of items in your cart.

3. Describe what you are most proud of about your system:

I think that the thing I’m most proud of in my system is the cart functionality. Even with its flaws, I think I surprised myself by being able to work it out and create and actual cart system that can take different brands of products with different quantities. After I had got it working–that’s when I truly knew that my skill had progressed since Assignment 1.

4. Describe what you are least happy with your system:

The thing that I am least happy with my system in being unable to remove quantities from the invoice. I think that would be really convenient for the consumer; every store has it after all, and it would especially be appropriate for a fountain pen store because of how expensive these items can get. It can be a difference between $10.00 and $100.00 totals–which in turn affects whether you get free shipping or not.

5. How was developing this assignment different than assignment #2?

Developing this assignment was different than assignment 2 because instead of spending time writing new, unique code, I instead had to just adapt it using sessions and cookies. As a result, I spent more time thinking about how I wanted my cart system to work. Additionally, I had to be more cognizant of the UI. I wanted to keep the current aesthetic, but I actually spent a lot of time ruminating about how the navigation bar would look like. Funnily enough, I used a token maker from my other hobby: Dungeons & Dragons, to create buttons for the nav bar.

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

I actually did receive more help from a previous student in ITM 352. I also worked with Professor Port for a bit for fixing a functionality regarding the inventory. Much of the time though, I spent perusing the previous labs, especially the Assignment 3 code examples and the few final labs. One idiosyncracy I did run into was getting node-mailer to work. I fixed it simply by reading the documentation (duh, Matthew!)

7. Describe what worked well in doing this assignment?

Making the user data transient through cookies and sessions worked well, and I also liked how I did the design of the navigation bar. The cart itself worked well enough too! I also think that the nodemailer aspect of the assignment works as well, and I included added security measures for hawaii.edu emails as well. Adding different brands of products also worked too.

8. Describe what did not work well in doing this assignment?

I ran out of time at the very end to add in a few key functionalities. As I’ve mentioned before, you cannot remove the quantities from the checkout page, which was really disappointing for me. I also stressed a lot in the beginning, and in hindsight, I needed to ask Professor Port for more help as that would be quicker than trying to take inspiration from other’s code and the code examples on the website (I might not have understood them, for example).

9. What did you learn from doing this assignment?

I think most of all, what I learned from this assignment and what I learned from this class overall is to LEARN HOW TO MANAGE YOUR TIME BETTER. To be honest, I waited a few days before starting Assignment 3 after finishing Assignment 2, but I realize that I need to start as soon as possible. This was especially important because I had other classes with pressing deadlines as well, and so I couldn’t spent all of my time on the Assignments only. I also learned how to think more about how the UI affects the consumer experience and ease of use. While I did not implement everything I wanted to,

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

I would definitely spend more time thinking individually about how each functionality would work instead of looking at the bigger picture. I felt that I got overwhelmed at the amount I had to do for Assignment 3, which caused me to get distracted, needlessly worried, and eventually procrastinate, leading to not being able to figure out the removing of the quantities. One aspect I want to change is probably the look of the invoice after you checkout. It doesn’t match the appearance of the rest of my product store, which I think would be a nice touch if I did so.

11. 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 30% thinking, 30% writing, and 40% testing and debugging. For testing and debugging, I definitely could’ve spent a lot less time if I had read the documentation, especially on the query-string and the node-mailer. It took my a few hours to realize that the node-mailer would only work if I had actually put it in the ITM server. For writing, the Assignment 3 code examples definitely helped as well as a few resources about cookies from W-3 schools, which turned down the time. Naturally, I spent more time thinking about how to write the code than my previous two times as I wanted make sure the UI design was good enough, and that I was confident about how the cart was going to function with data on the server.

12. 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”)

I did not have a partner