I found this assignment to be fun and not incredibly difficult once I got back in the swing of using html. I started investigating CSS to see ways that I could improve the page to be more modern and visually interesting.
The challenging portions of this assignment are mainly because I have not really had much experience with html. So, I have to keep looking up tools I need to portray the website as I'd like.
I also happen to own the domain jordanpearcey.com and I am going to use it to route to Github pages!
I enjoyed this assignment because I like the process of design and it was fun and difficult to match everything up to the mock website image. It was more difficult than I had anticipated, due to how you can create a massive headache if you do not set things up properly from the get go. I had everything looking very good until I realized parts of the "twits" boxes were off, and upon tweaking them I ended up messing the whole thing up.
It was pretty exciting getting to build an interactive site for the first time. I did not know any java- script before this course, but it has so many familiar elements to c++ that it is intuitive. That is not to say that this assignment was easy. Not by a long shot. I struggled to get started with this one and spent a good deal of time just going back over the materials in order to establish a starting point, but once I got comfortable it starting moving pretty quickly.
My biggest challenge was implementing the livesearch function. I tried many attempts that ended in failure because I wasn't sure at first how to go about comparing the search input against the individual twits. I tried breaking each input down into individuals chars and using conditional logic in a for-loop to weed out the ones that did not match. However, the way I implemented this--it kept deleting entire twits from the DOM even if there were matches. Eventually, I decided to re-watch class materials until I could work it out.
I think my biggest insight from this assignment was learning how to manipulate the DOM effectively. It was pretty cool to create the machinery behind the scenes of a website page. Using Campuswire, stackoverflow, re-watching lectures and re-reading notes, were all very helpful to figure things out. But I learned my lesson about blindly trusting internet sources, even highly rated ones on Stackoverflow; some of them gave advice that would make a site vulnerable to attack (using inner-HTML). Good thing I referred back to class materials and asked questions on Campuswire.
I googled so many things for this assignment! The most important searches I guess were figuring out how to build elements and add classes to the right objects (but this what taught in class very well too), and figuring out ways to implement the search functions. Overall this assignment was difficult and very informative.
I really enjoyed this assignment. It was nice having a shorter program to code, and even still I learned a lot from the process. As usual, I rewatched the lecture recordigs before getting started, to make sure that I had the right idea before moving forward. So getting started was the longest process for the assignment.
Once I got rolling, I hit a couple of roadblocks that required a little more looking into. The first of which was my error-throwing, when reading in the data from files using "fs". Gettin rid of the error handling would allow the html page to load just fine, and I could not understand why it would have an error in that case. It turns out that I simply had the address input incorrectly, as "/public/index.html" rather than "/index.html". Such a simple mistake absorbed a lot of my time on this assignment, but I'm sure I'll get better at understanding Node.js errors.
The most important concepts I learned from this assignment was the request-response nature of a server, and how ports are utilized. I always took these sorts of things for granted, but the process of server to user is beginning to be much more clear for me.
I did do some internet searching to find the best way to handle the multiple file types being sent, in order to effectively apply the CSS style to the HTML page. I found that using a switch was a really efficient way of detecting the URLs or extension types, and performing the right actions accordingly.
I thought this assignment was pretty cool. I learned a lot about the dynamics of rendering and serving pages using handlebars, and I think I have a clearer image of how modern, dynamic sites operate.
I did not know anyhing about handlebars or express before learning about them in class. The biggest insights that I learned were regarding the use of templates. I feel like there is so much power when designing sites with templates, and it really ties in the concepts we learn in other CS courses (using functions, not repeating yourself).
Honestly, I found the lecture videos to be the most helpful when it came to accomplishing all the requirements in assignment 5. I rewatched them several times, and revistied the readings for details. I really found the demos to be effective in relaying the overall ideas that were necessary in the assignment. Campuswire/professor/TA's were also very helpful and answered my questions quickly--helping me to complete the assignment on time. I really didnt use any outside websites for help. I feel like the course page had everything that I needed.
The only things that I googled had to do with some javascript syntax that I didnt understand: There was one instance where I found some good info on StackOverflow about passing arrays in javascript. Luckily, Emmanuel also answered my question on Campuswire. Overall I very much enjoyed this class! Thank you.