{"componentChunkName":"component---src-templates-blog-post-jsx","path":"/week-9","result":{"data":{"post":{"title":"Week 9","slug":{"current":"week-9"},"_rawBody":[{"_key":"8c95e72c31c5","_type":"block","children":[{"_key":"461a4bde7fb0","_type":"span","marks":[],"text":"This week started a closer look at object oriented programming in Javascript. I completed the freeCodeCamp section on object oriented programming and watched a few great YouTube introductions to the concept as well in order to get the concepts covered thoroughly."}],"markDefs":[],"style":"normal"},{"_key":"d27fc71c430c","_type":"block","children":[{"_key":"ad1e84d29a690","_type":"span","marks":[],"text":"Some thoughts on freeCodeCamp"}],"markDefs":[],"style":"h2"},{"_key":"c02cde84a7c1","_type":"block","children":[{"_key":"d0e90fb864400","_type":"span","marks":[],"text":"I like how the lessons are structured in that every step of the way you’re forced to actually write a bit of code before you can go on to the next step."}],"markDefs":[],"style":"normal"},{"_key":"27719befd333","_type":"block","children":[{"_key":"e1f2d3a1e0f40","_type":"span","marks":[],"text":"However, the big drawback is the paucity of explanation. The provided explanations are usually just enough to get you to complete whatever little task they’ve given you, but often doesn’t really go into the whys and hows at any deeper level."}],"markDefs":[],"style":"normal"},{"_key":"7d8b84eaf75d","_type":"block","children":[{"_key":"8cbd57f9027a0","_type":"span","marks":[],"text":"So I’ve found the following process to be quite helpful:"}],"markDefs":[],"style":"normal"},{"_key":"8a2c61baf16a","_type":"block","children":[{"_key":"12188e8c232b0","_type":"span","marks":[],"text":"Watch a good YouTube tutorial on the subject"}],"level":1,"listItem":"number","markDefs":[],"style":"normal"},{"_key":"ef77bca4f349","_type":"block","children":[{"_key":"57c05a1a8a090","_type":"span","marks":[],"text":"Complete the corresponding freeCodeCamp section"}],"level":1,"listItem":"number","markDefs":[],"style":"normal"},{"_key":"aa6cde032cea","_type":"block","children":[{"_key":"57f224136c8a0","_type":"span","marks":[],"text":"Watch a different YouTube tutorial"}],"level":1,"listItem":"number","markDefs":[],"style":"normal"},{"_key":"3052fa9bb9db","_type":"block","children":[{"_key":"e9f8cf9d458b0","_type":"span","marks":[],"text":"When I have a really specific question, or I can’t remember a particular property or method, consult the MDN documentation"}],"level":1,"listItem":"number","markDefs":[],"style":"normal"},{"_key":"44298b5c8faf","_type":"block","children":[{"_key":"3f1fa3b76e370","_type":"span","marks":[],"text":"…and of course, build things along the way"}],"markDefs":[],"style":"h2"},{"_key":"34068e80cc96","_type":"block","children":[{"_key":"f4d1dc84e4190","_type":"span","marks":[],"text":"A few weeks ago I started putting together what looks now like it will become a “final project” of sorts. It’s a family menu planner / recipe database / shopping list generator."}],"markDefs":[],"style":"normal"},{"_key":"ac8840886265","_type":"block","children":[{"_key":"29a5c97e6a4b0","_type":"span","marks":[],"text":"We are generally quite organized in how we plan our meals. On Monday, my wife sits down and plans out our menu for the week. She makes a shopping list based on that menu and then buys groceries accordingly. Sometimes we get stuck making the same meals over and over. While planning we often find that we have trouble remembering what we’ve had in the past that we’ve liked. Other times we can’t find a particular recipe."}],"markDefs":[],"style":"normal"},{"_key":"f3303cfccd02","_type":"block","children":[{"_key":"8152f3e6fcc00","_type":"span","marks":[],"text":"Knowing my wife, she’s highly unlikely to want to learn to use a new app for something that’s just as easy to do on paper, but I thought this was a perfect real world problem that I could build something around."}],"markDefs":[],"style":"normal"},{"_key":"6ab3defa9c95","_type":"block","children":[{"_key":"7c3a68d54a620","_type":"span","marks":[],"text":"So… my recipe app will:"}],"markDefs":[],"style":"normal"},{"_key":"66203586215c","_type":"block","children":[{"_key":"6562075d113c0","_type":"span","marks":[],"text":"Allow you to store a list of meals and recipes that can be filtered in various ways (lunch/dinner, vegetarian/meat based, etc)"}],"level":1,"listItem":"number","markDefs":[],"style":"normal"},{"_key":"988151061f07","_type":"block","children":[{"_key":"7b9372e5708c0","_type":"span","marks":[],"text":"Pull in an online recipe and parse the ingredient list and directions."}],"level":1,"listItem":"number","markDefs":[],"style":"normal"},{"_key":"dee45310d54a","_type":"block","children":[{"_key":"742e66d979580","_type":"span","marks":[],"text":"Allow you to select items from the recipes to add to a shopping list"}],"level":1,"listItem":"number","markDefs":[],"style":"normal"},{"_key":"e5a4c5143e40","_type":"block","children":[{"_key":"37e9439cf2280","_type":"span","marks":[],"text":"Add meals to a weekly menu"}],"level":1,"listItem":"number","markDefs":[],"style":"normal"},{"_key":"ff5ac1bebdf6","_type":"block","children":[{"_key":"ac39771c10d20","_type":"span","marks":[],"text":"I’ve been working on the main recipe part and have it at the point where you can fetch a remote recipe via url and, thanks to "},{"_key":"ac39771c10d21","_type":"span","marks":["3770e00d3f70"],"text":"this API"},{"_key":"ac39771c10d22","_type":"span","marks":[],"text":", it will parse and display the recipe in the app."}],"markDefs":[{"_key":"3770e00d3f70","_type":"link","href":"https://rapidapi.com/mycookbook/api/mycookbook-io1/details"}],"style":"normal"}],"publishedAt":"2020-07-22T14:00:00.000Z","categories":[{"title":"Journal Entries"}],"tags":[{"value":"freeCodeCamp"},{"value":"javascript"},{"value":"Projects"}],"mainImage":{"asset":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAUGBAf/xAAfEAACAQQDAQEAAAAAAAAAAAABAwIABAUREiFBMVH/xAAVAQEBAAAAAAAAAAAAAAAAAAABAv/EABYRAQEBAAAAAAAAAAAAAAAAAAEAEf/aAAwDAQACEQMRAD8A7jk0JfbygWzhxkCTA6O6VKRFKGR5zYJHe5ndbHPYxbhvX4QKSXt3NNlIjsj00zqgUhmcag5BhHvdFTWZzFxLIM+CiirL/9k=","aspectRatio":1.5,"src":"https://cdn.sanity.io/images/pwg13agp/production/50e4a717ff61b42055a1da8a41bd87c142298b74-5925x3950.jpg?w=900&h=600&fit=crop","srcSet":"https://cdn.sanity.io/images/pwg13agp/production/50e4a717ff61b42055a1da8a41bd87c142298b74-5925x3950.jpg?w=225&h=150&fit=crop 225w,\nhttps://cdn.sanity.io/images/pwg13agp/production/50e4a717ff61b42055a1da8a41bd87c142298b74-5925x3950.jpg?w=450&h=300&fit=crop 450w,\nhttps://cdn.sanity.io/images/pwg13agp/production/50e4a717ff61b42055a1da8a41bd87c142298b74-5925x3950.jpg?w=900&h=600&fit=crop 900w,\nhttps://cdn.sanity.io/images/pwg13agp/production/50e4a717ff61b42055a1da8a41bd87c142298b74-5925x3950.jpg?w=1350&h=900&fit=crop 1350w,\nhttps://cdn.sanity.io/images/pwg13agp/production/50e4a717ff61b42055a1da8a41bd87c142298b74-5925x3950.jpg?w=1800&h=1200&fit=crop 1800w,\nhttps://cdn.sanity.io/images/pwg13agp/production/50e4a717ff61b42055a1da8a41bd87c142298b74-5925x3950.jpg?w=2700&h=1800&fit=crop 2700w,\nhttps://cdn.sanity.io/images/pwg13agp/production/50e4a717ff61b42055a1da8a41bd87c142298b74-5925x3950.jpg 5925w","srcWebp":"https://cdn.sanity.io/images/pwg13agp/production/50e4a717ff61b42055a1da8a41bd87c142298b74-5925x3950.jpg?w=900&h=600&fit=crop&fm=webp","srcSetWebp":"https://cdn.sanity.io/images/pwg13agp/production/50e4a717ff61b42055a1da8a41bd87c142298b74-5925x3950.jpg?w=225&h=150&fit=crop&fm=webp 225w,\nhttps://cdn.sanity.io/images/pwg13agp/production/50e4a717ff61b42055a1da8a41bd87c142298b74-5925x3950.jpg?w=450&h=300&fit=crop&fm=webp 450w,\nhttps://cdn.sanity.io/images/pwg13agp/production/50e4a717ff61b42055a1da8a41bd87c142298b74-5925x3950.jpg?w=900&h=600&fit=crop&fm=webp 900w,\nhttps://cdn.sanity.io/images/pwg13agp/production/50e4a717ff61b42055a1da8a41bd87c142298b74-5925x3950.jpg?w=1350&h=900&fit=crop&fm=webp 1350w,\nhttps://cdn.sanity.io/images/pwg13agp/production/50e4a717ff61b42055a1da8a41bd87c142298b74-5925x3950.jpg?w=1800&h=1200&fit=crop&fm=webp 1800w,\nhttps://cdn.sanity.io/images/pwg13agp/production/50e4a717ff61b42055a1da8a41bd87c142298b74-5925x3950.jpg?w=2700&h=1800&fit=crop&fm=webp 2700w,\nhttps://cdn.sanity.io/images/pwg13agp/production/50e4a717ff61b42055a1da8a41bd87c142298b74-5925x3950.jpg?fm=webp 5925w","sizes":"(max-width: 900px) 100vw, 900px"}}}}},"pageContext":{"slug":"week-9"}},"staticQueryHashes":["63159454"]}