Thinkful Week 3: Object-Oriented Programming, AJAX, and Advanced JQuery
In my third week with Thinkful’s Front-End Developer Career Path Program, things are moving along pretty quickly. I’ve already got some great projects under my belt and I’m looking forward to building on those projects as I progress my skills. But, although I was able to cruise through most of the earlier projects with no major roadblocks, Object-Oriented Programming (OOP) hit me pretty hard. I think I built my confidence up a bit much when it came to grasping JavaScript, and then reality settled in.
Object-Oriented Programming (OOP)
Thinkful’s lessons on this were short and to-the-point…possibly too short. For such abstract and fundamental concepts, there wasn’t a ton of original content to go off of. Now, I will say that they provided a guide to an incredible amount of resources, and they probably thought, “Why would we re-write this material when other sites like MDN have written it so brilliantly?” They’ve definitely got a point. I guess my issue with these lessons is that there wasn’t really a clear step-by-step project to add these fundamentals to as you learned – which has made it so easy to learn in the past lessons. Anyhow, I decided that I wasn’t going to just keep combing through online resources and hope to understand OOP, so I picked up a few extra books to compliment my learning: A Smarter Way to Learn Javascript and JavaScript & JQuery: Interactive Front-End Web Development.
Each of these books provide a different style of learning, but I’ve found that they work incredibly well together. “A Smarter Way” is sort of like Codecademy in that you learn lesson by lesson, and then you have an exercise after each lesson to instill the knowledge in your brain. I’ll admit, it starts off a bit slow and simple, but that was the perfect way to build on fundamentals. “JavaScript & JQuery”, on the other hand, is more of a big-picture type of learning tool. It’s beautifully designed and written, and gives you practical examples to review. There are online resources to practice, I believe, but I haven’t looked into those. Anyhow, using these two books a little bit everyday has really helped my JavaScript understanding and I highly recommend them. And what a steal! I think the pair cost me like $30 total.
Interactive Quiz App
So, after I got a little better handle on JS Objects, I was ready to take on the Interactive Quiz App. This was our biggest project yet, as it had us create a wireframe, create a static version, then add interactivity, and, off course, debug in the console as we worked. This took me a good deal of time as I put a lot of work into the design of the app as well. I used Sketch to wireframe and to create my digital assets. For those of you who have not heard of Bohemian Coding’s Sketch, please check it out. It’s taken my design skills to the next level.
This project was tough in that Thinkful let you fly the nest a bit. Instead of holding your hand through the entire thing, they let you discover what you don’t know, learn it on your own, and then use it – which is probably the best way to make sure that it sticks. I’ll be honest, after posting a bunch of questions to the Slack community for help, and bugging my mentor at each session, I went ahead and looked at other student’s projects to see what they came up with. Little did I know that we all sort of arrived independently at the same basic type of structure and code. That boosted my confidence a lot and allowed me to know that i was moving in the right direction. So, after a bit of work, here’s my Hemingway Quiz App:
http://jasonwalkow.github.io/hemingway-quiz/index.html
AJAX and Advanced JQuery
Admittedly, I had played around with AJAX, JSON, and API hacks a bit when I was learning with Treehouse, so the lessons weren’t totally new to me, but there was still a lot of information to cover. First, we played around with the IMDB API to get an idea of what an AJAX request looks like and what to look for in our JSON data. Honestly, the hardest part of this lesson, for me, was remembering not to type “jason” (my name) when I went to type “json”. The rest of the lesson was pretty straight-forward, culminating with the creation of the “Thinkful Tube Project” which uses the YouTube API to retrieve videos from a search term. We got to add our own styling and on this one and go a little wild, so I did (with a little photo help from Unsplash):
http://jasonwalkow.github.io/thinkful-tube/index.html
StackOverflow Reputation Builder
The StackOverflow Reputation Builder assignment was fairly similar to the Thinkful Tube Project, except that this time we were on our own. I forked the project from GitHub and took some time to look over the code and see what I was getting myself into. The code was pretty straight-forward and it looked like it was going to be pretty easy to add everything dynamically. On this project, we weren’t supposed to spend anytime of style, but I sort of had a template from the Thinkful Tube Project already built, so I added it in:
http://jasonwalkow.github.io/stackerAJAX/index.html
API Hack
For our final project on APIs, we were assigned to use any API that we wanted (or more!) and create an app of our choosing. I truly loved this project. It was wide open and it really let me explore my talents and skills to apply what I had learned. This was going to be our first truly original project. So, what did I come up with?
Well, as an Etsy Seller, DeanFred Rex Prints, I sometimes get orders from customers asking is they can pick it up same day or next day locally. Now, all they really see is that I post my address as “Los Angeles”, but LA is a big city and they might be 50 miles away – who knows. So, I decided that I would make an app where someone could search for Etsy shops in their neighborhood by entering in an address. This would use the Google API, Geocoder API (location), and the Etsy API – which would give me a real dive into AJAX and advanced JQuery. I ran into a few roadblocks along the way (mainly knowing what JSON data to use where and when) and then of course there were some Etsy API restrictions that I had to wiggle around. But, with a ton of help and guidance from my mentor, I came up with a pretty cool project, myEtsyNeighborhood:
http://jasonwalkow.github.io/my-etsy-neighborhood/index.html
Stay Tuned
Well, that’s it for Week 3. Next week, I’ll be finishing up the first part of Front-End Development and moving into Intermediate Front-End. As always, if you’re thinking about taking a course with Thinkful, don’t be afraid to contact me and get an idea about the program. Thanks for reading!
Coming Next Week: Portfolio Site Re-Visited, Mobile-First Design, and Gulp