My store sells custom keyboards and accessories to go along with them. For example, you can buy switches and keycaps to put on your custom keyboards that you can build, or you can purchase pre-build ones already.
Overall I feel that my website has most of the features implemented. For example, the add to cart with buttons to change the quantity wanted, the nav bar dynamically changes after login, the errors pop up when entering invalid numbers, etc. One shortcoming though was that I did not have enough time to CSS my website, so functionally, it works pretty well, but it just doesn’t look the nicest because it took too long to get it to actually work.
I think one of the things I am most proud about is either my nav bar or my cart. For my cart, it took me over 10 hours straight of coding to get the buttons to work correctly, and when I finally got it to work, it felt great. Another thing I was proud of was the nav bar. For some reason I was just very happy with the way it came out, with the drop down list and dynamically changing the list names on login and logout.
I am definitely least happy with how the css turned out. The website could have looked a lot better if it was styled correctly. That was really the main thing. The invoice and register page were hard to style easily as they were being printed on the server side so that it was easier to create the cookies there.
This was a bit harder as we had to implement cookies and sessions, which were very new to me. Calling and using cookies in different places in the code were a challenge to me, as you called them differently in the HTML file and in the server-side JS file.
When I ran into problems, I would first look to see where the problem would be originating from so that I would know where to start fixing it. I would take it step by step to see exactly at what point the code would break, so that I could fix it. Many of the problems took me countless hours to get through, it just took a lot of brainstorming on what the different ways the code could not be working.
Thinking of different ways to think was my point of view on how to solve the problems. I think this went well when I got stuck on a problem for hours, I would take a quick break to refresh my brain and look at the problem from a different perspective. That way, if it wasn’t working if I thought about it one way, maybe there would be a whole different approach to solving the problem.
I think overthinking really slowed me down in the coding and debugging process, as I would repetitively do the same thing thinking that it would work because it made the most sense to me. But in reality, it wasn’t working for a reason, so I knew I had to think of another way of doing things.
Honestly, I learned a lot about how cookies and sessions work. I never really knew what cookies meant, even though I would hear about them all the time. For example, when entering some websites, they would ask you if saving cookies is okay, or if you wanted to clear your cookies, I never really knew what they meant by this. Now I know that really it’s saving your specific data, such as the time logged in or your username when logging in.
Like always, I would have tried to manage my time better so that I was able to produce a better looking website. Although I had many other exams that I had to study for, it was really hard to manage my time and study for those exams while also working on this code. But I would have put more effort into understanding how the code worked and coming at it with a clear mind, but honestly that was really challenging with all the things going on in the end of the semester.
I spent about 25% of the time thinking about what and how to do things, about 15% of the time coding them, and about 60% of the time debugging and testing to see if my code actually worked.
I did not work with any partners for this project.