E6 Evaluation Guidelines and Class Retrospective BLOG

14 May 2020

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

My system was an e-commerce website for a sports shop that sold three types of items. These items were balls for different sports, sports equipment and miscellaneous equipment.

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

We had a lot of problems and issues throughout the process of creating the system but in the end I don’t believe that we had any notable shortcomings, bugs or problems that were unresolved or not solved. There was this issue where the ‘quantity available’ was not working properly in the server when trying to update the inventory after the products were purchased. It would work sometimes but then come up as undefined in other scenarios and this was near the deadline. Fortunately, I was able to change the package lock file and edit and move the code a little and got it working just in time. Some additional features that were not implemented were some of the extra credit options such as saying what the time was the last time a user was at the website.

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

What I am most proud of my system is that it is almost completely functional. When going through the checklist and requirements, I believe that this system was able to perform all of the major requirements and didn’t have too many other issues (although I’m sure you’ll find one if you look long enough).

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

I think I am least happy with the organization of the code. I feel that sometimes it can get really confusing trying to figure out what needs to be requested in the server as there is a lot of information being stored then set as different variables for different things.

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

Assignment 2 was different from assignment 3 as there were a lot of requirements for different parts but gave us freedom in how we wanted to store information either through sessions or using cookies. The information that was stored also had to be displayed and maintained when navigating through the website. Assignment #3 was also different from assignment 2 because the individual requirements meant that not everyone had the same looking website and we had to complete these on our own so we would have to figure it out by looking online or asking the professor.

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

When I ran into a problem, I would first try to think of why the problem was occuring. I would try to back track and see how the problem was occurring or where it was originating from. If I found what I thought was the reason I would try editing the code to see if I could fix it. Zenan would try different things at the same time to see if he could fix it too. After this, we would look at the class examples on the server or labs to see if there was something to help us solve the problem. Finally, we asked Professor Port for a lot of help if we were unable to solve the problem on our own.

7. Describe what worked well in doing this assignment?

In this assignment, what worked well was having a partner to bounce ideas back and forth. Working with a partner also made it easier to keep working on it as we held each other accountable to make sure we kept making progress everyday. For me, something that stood out as working well was getting the invoice to be sent to the user’s email as the class example worked really well. Also getting the stars to display the average and click after they sign in worked but there were issues that arose as I will discuss below.

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

In terms of what didn’t work well in doing this assignment was the number of requirements that needed to be completed. Even though Zenan and I would try to plan what we would like to have working by certain days, it often would not be fully functional so I always felt like we were behind schedule. Another thing that could have worked much better and taken less time was the individual requirements as I borrowed and edited the code to make the star ratings from online. We had to edit the code a lot to make it functional so that it could send the stars selected from the purchase page and be pushed to the products display page. Professor Port mentioned that if we had done this from scratch it would have been much easier and faster. He reminded me once again that while I might be hopeful in looking for code to use online, it will almost never do exactly what I need and may end up making things more complicated than it needs to be.

9. What did you learn from doing this assignment?

As mentioned in my video demo, I learned a lot of lessons from this assignment. I learned to start early and plan ahead. I know that if Zenan and I did not start as early as we did, I highly doubt that we would have been able to finish this assignment on time or get everything functioning. In terms of content, I learned a lot about sessions as that was how the entire website operated. Also, I learned how to utilize functions more efficiently to keep things neater and for design purposes. A learning experience from this assignment was to look for the small things first in coding as they often can be the reason why something does not work.

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

If I could go back in time and do things differently, I still would have started earlier than I did. Although Zenan and I did start earlier on this assignment compared to our previous assignments, we still felt that we were being pressed for time near the end to get some things working at the last minute. Zenan and I wanted to incorporate more extra credit that we thought was doable but simply ran out of time. Also, I would try to probably understand how sessions work at a more fundamental level in the beginning so we wouldn’t spend too much time trying to figure that out. As I am writing this too, I realized that I forgot to showcase in the demo how the user can’t access the purchase page if they are not logged in or have 0 items selected in their cart so I wish I could have shown that in the demo.

11. Estimate the % of the time you spent (a) thinking about how to do something, (b) writing code (but do not include testing, (c) testing and debugging

a) 25% of my time thinking about how to do something b) 25% of my time writing code c) 50% of my time testing & debugging code

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 worked with one partner and would probably make my contribution as either 40-45%. I believe that Zenan’s contribution was about 55-60%. As we started that with his assignment 2 which was already functional and built upon that, I believe he should be credited for that with a higher contribution rate. Although we both discussed whose assignment 2 we would use based on the grades we received. Besides this point and working on our individual requirements separately, Zenan and I almost always work on all aspects of the assignment together. We met everyday for the past week and a half on Zoom to work on the code together by using a live session on VS code which meant that we could tackle all aspects of the assignment at the same time.