JavaScript Portfolio Project

Posted by Andrew Davisson on October 22, 2019

Starting this project was tough for me because the project details were not as strict as the first three, which made coming up with an idea a little tougher. I decided to build a meme generator, because I thought that would be fun to play around with. I also struggle with styling so I decided to make it look super tacky to hopefully make the styling part of things more fun.

My project allows you to create a meme by assembling a title, a picture, a phrase, a phrase location, and a phrase color. I preloaded a dozen pictures that users can select from, because I did not want to allow image uploads. The user can choose one of the dozen pictures or select random to have one randomly selected for them. The user can choose to select a phrase that has already been saved or create their own. A user can also choose to save a meme if they like, which will allow it to be selected and viewed publicly.

A big part of this project seemed to be just repeating certain things over and over like creating elements, appending elements to other elements, grabbing an input value, etc. I think that is where most of my time working on the project was spent, but by far the hardest part of this project was learning how to handle Promises when making fetch calls. Learning how to make sure a fetch call has completed before moving on took some work, and it is something that I know I still need to work at a lot to get better.

I had a love/hate relationship with this project. Working with fetch calls, promises, and callbacks were extremely frustrating, but when I got things working it made me so incredibly proud. This project was definitely an eye opener in how much I have learned since starting this course, and also in how much I have yet to learn to feel comfortable and proficient with JavaScript.