Reflecting on Assignment 3 Technical Essay

13 May 2022

Briefly describe your system (e.g. A store selling Pokemon game cards)
My website is a jewelry store, specifically a seaglass and shell jewelry style store. The products include earrings, necklaces, and sets of both to choose from. The store functions good, but can be improved. The user is able to log in, sign up, or edit their information and they can add items to the cart, and purchase.
Any notable shortcomings, bugs, problems, or additional features not implemented?
Yes, I wish I had been able to complete the Assignment with all the desired features but with the limited time and lack of coding fluency I was not able to implement all the features. I had a hard time figuring out the emailing after purchase using nodemailer, I attempted to use the package and ran into errors resulting in an incomplete feature. I wish I had corrected the issues in time, the concept is very interesting to me. The other issues I ran into were cart editing and session utilization. I attempted to include the cart editing feature and function but could not seem to identify the corresponding item and did not know how to create the function to remove the item from the cart. The session issues I had were interesting, I had a hard time figuring out how to retrieve user information from the session, another issue that occured int he nodemailer process.
Describe what you are most proud of about your system:
I am proud of the design and functionality; I thought that the format I used was nice and the user experience was good. I am also proud of the favorites feature, I am glad that I was able to implement it. The log in, registration, and updating information for users is also another great aspect to learn for user databases.
Describe what you are least happy with your system:
I am not happy that the website is incomplete, it would have been much more satisfying if I put all the pieces together. I wish I had learned the nodemailer and sessions better so the website could function properly.
How was developing this assignment different than assignment #2?
This assignment took a lot more brain power, I knew the things that I wanted to implement but did not know how to do so. It was hard figuring out each step and it took a long time to get where I am, but compared to Assignment 2, Assignment 3 took a lot more time to think about features from different perspectives to get an understanding.
When you ran into a problem, what did you do to address it?
When I ran into problems I spent time looking into it, searching on the internet and looking up videos but rarely became useful. Most of the time I got help from classmates or the professor, and I solved a lot of the problems myself as well. I would think about the different approaches to take and tested a lot of different things out.
Describe what worked well in doing this assignment?
I am getting better at programming, I knew certain things to do to get what I wanted which was very satisfying when it worked out. I had a lot of fun but I wish I learned faster so I could get more things figured out in time. The best thing that worked was when I knew what to do and how to do it, I would try a few different ways until I got what I needed.
Describe what did not work well in doing this assignment?
The things that didn’t go well were the things that I am missing, I would get stuck on certain issues or bugs that I could not get and in turn would take a lot of my time. I spent so much time trying to figure out the problems that I was having and it made the process much longer and at some point I was not making any progress at all.
What did you learn from doing this assignment?
I learned a lot, how to program, how to think in a developers point of view and I learned how to solve problems by myself. The internet has a lot of good information about coding so I’m excited to continue to code. I learned how to create a login page, products display, and invoice.
If you could go back in time and do things differently, what would you change?
I would focus on the things that I knew were difficult so I could get help on them quicker. I would have started earlier and got the issues out of the way faster so I could implement everything that I wanted.
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 spend 40% of the time thinking about how I wanted to do something, about 30% of the time doing what I wanted to do, and about 30% of the time debugging. All in all, it took a lot of time figuring out this assignment.
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 the assignment by myself for the most part, a few times I got help from the professor, other classmates, and code from past semesters. I would say that 90% of the assignment was me, while the other 10% was asking for help. I really tried to push myself to learn as much as I could because I am super interested in web development.